home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 15 / BBS in a box XV-2.iso / Files II / Prog / B-C / CTerminal pane 1.0.sit / CTerminal pane 1.0 / CTerminalPane.cp next >
MacBinary  |  1993-08-16  |  14.1 KB  |  [TEXT/KAHL]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert MS-DOS Code Page Info (other/dosCodePage) ext Unsupported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, Mon Aug 16 22:14:33 1993, modified Mon Aug 16 22:14:33 1993, creator Think C, type ASCII, 13881 bytes "CTerminalPane.cp" , at 0x36b9 348 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[KAHL]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 10 43 54 65 72 6d 69 | 6e 61 6c 50 61 6e 65 2e |..CTermi|nalPane.|
|00000010| 63 70 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |cp......|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 4b 41 48 | 4c 00 00 00 00 00 00 00 |.TEXTKAH|L.......|
|00000050| 00 00 00 00 00 36 39 00 | 00 01 5c a8 95 ef 89 a8 |.....69.|..\.....|
|00000060| 95 ef 89 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 dc 1e 00 00 |........|........|
|00000080| 2f 2a 0d 2a 2a 20 43 54 | 65 72 6d 69 6e 61 6c 50 |/*.** CT|erminalP|
|00000090| 61 6e 65 2e 68 0d 2a 2a | 0d 2a 2a 09 45 72 69 63 |ane.h.**|.**.Eric|
|000000a0| d5 73 20 73 74 61 6e 64 | 61 72 64 20 6c 69 62 72 |.s stand|ard libr|
|000000b0| 61 72 69 65 73 0d 2a 2a | 09 54 65 72 6d 69 6e 61 |aries.**|.Termina|
|000000c0| 6c 20 64 69 73 70 6c 61 | 79 20 70 61 6e 65 0d 2a |l displa|y pane.*|
|000000d0| 2a 0d 2a 2a 09 43 6f 70 | 79 72 69 67 68 74 20 a9 |*.**.Cop|yright .|
|000000e0| 20 31 39 39 33 2c 20 46 | 72 6f 73 74 42 79 74 65 | 1993, F|rostByte|
|000000f0| 20 44 65 73 69 67 6e 20 | 2f 20 45 72 69 63 20 53 | Design |/ Eric S|
|00000100| 63 6f 75 74 65 6e 0d 2a | 2a 09 50 6f 72 74 69 6f |couten.*|*.Portio|
|00000110| 6e 73 20 63 6f 70 79 72 | 69 67 68 74 20 a9 20 31 |ns copyr|ight . 1|
|00000120| 39 39 30 20 53 79 6d 61 | 6e 74 65 63 20 43 6f 72 |990 Syma|ntec Cor|
|00000130| 70 6f 72 61 74 69 6f 6e | 2e 20 41 6c 6c 20 72 69 |poration|. All ri|
|00000140| 67 68 74 73 20 72 65 73 | 65 72 76 65 64 2e 0d 2a |ghts res|erved..*|
|00000150| 2f 0d 0d 0d 23 69 6e 63 | 6c 75 64 65 20 22 43 54 |/...#inc|lude "CT|
|00000160| 65 72 6d 69 6e 61 6c 50 | 61 6e 65 2e 68 22 0d 0d |erminalP|ane.h"..|
|00000170| 23 69 6e 63 6c 75 64 65 | 20 3c 45 76 65 6e 74 73 |#include| <Events|
|00000180| 2e 68 3e 0d 23 69 6e 63 | 6c 75 64 65 20 3c 4c 6f |.h>.#inc|lude <Lo|
|00000190| 6e 67 43 6f 6f 72 64 69 | 6e 61 74 65 73 2e 68 3e |ngCoordi|nates.h>|
|000001a0| 0d 23 69 6e 63 6c 75 64 | 65 20 3c 4c 6f 6e 67 51 |.#includ|e <LongQ|
|000001b0| 44 2e 68 3e 0d 0d 0d 2f | 2a 20 67 6c 6f 62 61 6c |D.h>.../|* global|
|000001c0| 20 54 43 4c 20 6f 62 6a | 65 63 74 73 20 2a 2f 0d | TCL obj|ects */.|
|000001d0| 0d 65 78 74 65 72 6e 20 | 43 42 75 72 65 61 75 63 |.extern |CBureauc|
|000001e0| 72 61 74 20 2a 67 47 6f | 70 68 65 72 3b 0d 0d 0d |rat *gGo|pher;...|
|000001f0| 2f 2a 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |/*______|________|
|00000200| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000210| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000220| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000230| 5f 5f 5f 5f 5f 5f 5f 5f | 0d 2a 2a 0d 2a 2a 20 49 |________|.**.** I|
|00000240| 54 65 72 6d 69 6e 61 6c | 50 61 6e 65 0d 2a 2a 0d |Terminal|Pane.**.|
|00000250| 2a 2a 09 49 6e 69 74 69 | 61 6c 69 7a 65 20 74 68 |**.Initi|alize th|
|00000260| 65 20 70 61 6e 65 2e 20 | 4e 6f 74 68 69 6e 67 20 |e pane. |Nothing |
|00000270| 73 70 65 63 69 61 6c 20 | 68 65 72 65 2e 20 50 61 |special |here. Pa|
|00000280| 72 61 6d 65 74 65 72 73 | 20 61 72 65 20 61 6c 6c |rameters| are all|
|00000290| 20 74 68 65 20 73 61 6d | 65 20 61 73 0d 2a 2a 09 | the sam|e as.**.|
|000002a0| 66 6f 72 20 43 50 61 6e | 6f 72 61 6d 61 3a 3a 49 |for CPan|orama::I|
|000002b0| 50 61 6e 6f 72 61 6d 61 | 2e 0d 2a 2a 0d 2a 2f 0d |Panorama|..**.*/.|
|000002c0| 0d 76 6f 69 64 20 43 54 | 65 72 6d 69 6e 61 6c 50 |.void CT|erminalP|
|000002d0| 61 6e 65 3a 3a 49 54 65 | 72 6d 69 6e 61 6c 50 61 |ane::ITe|rminalPa|
|000002e0| 6e 65 20 28 43 56 69 65 | 77 20 2a 61 6e 45 6e 63 |ne (CVie|w *anEnc|
|000002f0| 6c 6f 73 75 72 65 2c 20 | 43 42 75 72 65 61 75 63 |losure, |CBureauc|
|00000300| 72 61 74 20 2a 61 53 75 | 70 65 72 76 69 73 6f 72 |rat *aSu|pervisor|
|00000310| 2c 0d 09 09 09 09 09 09 | 09 73 68 6f 72 74 20 61 |,.......|.short a|
|00000320| 57 69 64 74 68 2c 20 73 | 68 6f 72 74 20 61 48 65 |Width, s|hort aHe|
|00000330| 69 67 68 74 2c 20 73 68 | 6f 72 74 20 61 48 45 6e |ight, sh|ort aHEn|
|00000340| 63 6c 2c 20 73 68 6f 72 | 74 20 61 56 45 6e 63 6c |cl, shor|t aVEncl|
|00000350| 2c 0d 09 09 09 09 09 09 | 09 53 69 7a 69 6e 67 4f |,.......|.SizingO|
|00000360| 70 74 69 6f 6e 20 61 48 | 53 69 7a 69 6e 67 2c 20 |ption aH|Sizing, |
|00000370| 53 69 7a 69 6e 67 4f 70 | 74 69 6f 6e 20 61 56 53 |SizingOp|tion aVS|
|00000380| 69 7a 69 6e 67 29 0d 0d | 7b 0d 09 4c 6f 6e 67 52 |izing)..|{..LongR|
|00000390| 65 63 74 20 74 68 65 42 | 6f 75 6e 64 73 3b 0d 0d |ect theB|ounds;..|
|000003a0| 09 43 50 61 6e 6f 72 61 | 6d 61 3a 3a 49 50 61 6e |.CPanora|ma::IPan|
|000003b0| 6f 72 61 6d 61 28 61 6e | 45 6e 63 6c 6f 73 75 72 |orama(an|Enclosur|
|000003c0| 65 2c 20 61 53 75 70 65 | 72 76 69 73 6f 72 2c 20 |e, aSupe|rvisor, |
|000003d0| 61 57 69 64 74 68 2c 20 | 61 48 65 69 67 68 74 2c |aWidth, |aHeight,|
|000003e0| 20 61 48 45 6e 63 6c 2c | 20 61 56 45 6e 63 6c 2c | aHEncl,| aVEncl,|
|000003f0| 0d 09 09 09 09 09 09 61 | 48 53 69 7a 69 6e 67 2c |.......a|HSizing,|
|00000400| 20 61 56 53 69 7a 69 6e | 67 29 3b 0d 09 0d 09 53 | aVSizin|g);....S|
|00000410| 65 74 4c 6f 6e 67 52 65 | 63 74 28 26 74 68 65 42 |etLongRe|ct(&theB|
|00000420| 6f 75 6e 64 73 2c 20 30 | 2c 20 30 2c 20 73 69 7a |ounds, 0|, 0, siz|
|00000430| 65 58 2c 20 73 69 7a 65 | 59 29 3b 0d 09 53 65 74 |eX, size|Y);..Set|
|00000440| 42 6f 75 6e 64 73 28 26 | 74 68 65 42 6f 75 6e 64 |Bounds(&|theBound|
|00000450| 73 29 3b 0d 09 53 65 74 | 43 61 6e 42 65 47 6f 70 |s);..Set|CanBeGop|
|00000460| 68 65 72 28 54 52 55 45 | 29 3b 0d 09 53 65 74 57 |her(TRUE|);..SetW|
|00000470| 61 6e 74 73 43 6c 69 63 | 6b 73 28 54 52 55 45 29 |antsClic|ks(TRUE)|
|00000480| 3b 0d 09 0d 09 69 66 20 | 28 6d 65 6d 62 65 72 28 |;....if |(member(|
|00000490| 69 74 73 45 6e 63 6c 6f | 73 75 72 65 2c 20 43 53 |itsEnclo|sure, CS|
|000004a0| 63 72 6f 6c 6c 50 61 6e | 65 29 29 0d 09 09 28 28 |crollPan|e))...((|
|000004b0| 43 53 63 72 6f 6c 6c 50 | 61 6e 65 20 2a 29 20 69 |CScrollP|ane *) i|
|000004c0| 74 73 45 6e 63 6c 6f 73 | 75 72 65 29 2d 3e 53 65 |tsEnclos|ure)->Se|
|000004d0| 74 53 74 65 70 73 28 70 | 69 78 65 6c 73 58 2c 20 |tSteps(p|ixelsX, |
|000004e0| 70 69 78 65 6c 73 59 29 | 3b 0d 09 0d 09 62 6c 69 |pixelsY)|;....bli|
|000004f0| 6e 6b 43 75 72 73 6f 72 | 20 3d 20 46 41 4c 53 45 |nkCursor| = FALSE|
|00000500| 3b 0d 09 63 75 72 73 6f | 72 56 69 73 20 3d 20 54 |;..curso|rVis = T|
|00000510| 52 55 45 3b 0d 09 6c 61 | 73 74 43 75 72 73 6f 72 |RUE;..la|stCursor|
|00000520| 43 6f 6c 20 3d 20 6c 61 | 73 74 43 75 72 73 6f 72 |Col = la|stCursor|
|00000530| 4c 69 6e 65 20 3d 20 30 | 3b 0d 09 6c 61 73 74 43 |Line = 0|;..lastC|
|00000540| 75 72 73 6f 72 54 69 63 | 6b 20 3d 20 30 4c 3b 0d |ursorTic|k = 0L;.|
|00000550| 09 44 6f 43 6c 65 61 72 | 53 63 72 65 65 6e 28 29 |.DoClear|Screen()|
|00000560| 3b 0d 7d 0d 0d 0d 2f 2a | 5f 5f 5f 5f 5f 5f 5f 5f |;.}.../*|________|
|00000570| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000580| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000590| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|000005a0| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 0d 2a |________|______.*|
|000005b0| 2a 0d 2a 2a 20 42 65 63 | 6f 6d 65 47 6f 70 68 65 |*.** Bec|omeGophe|
|000005c0| 72 0d 2a 2a 0d 2a 2a 09 | 42 65 63 6f 6d 65 20 74 |r.**.**.|Become t|
|000005d0| 68 65 20 67 6f 70 68 65 | 72 20 28 6f 72 20 6c 65 |he gophe|r (or le|
|000005e0| 61 76 65 20 67 6f 70 68 | 65 72 20 73 74 61 74 75 |ave goph|er statu|
|000005f0| 73 29 2e 20 41 6c 6c 20 | 6f 75 72 20 72 6f 75 74 |s). All |our rout|
|00000600| 69 6e 65 20 64 6f 65 73 | 20 69 73 20 66 6f 72 63 |ine does| is forc|
|00000610| 65 20 61 20 72 65 66 72 | 65 73 68 0d 2a 2a 09 6f |e a refr|esh.**.o|
|00000620| 66 20 74 68 65 20 63 75 | 72 73 6f 72 2e 0d 2a 2a |f the cu|rsor..**|
|00000630| 0d 2a 2a 09 09 66 42 65 | 63 6f 6d 69 6e 67 20 28 |.**..fBe|coming (|
|00000640| 42 6f 6f 6c 65 61 6e 29 | 3a 09 09 54 52 55 45 20 |Boolean)|:..TRUE |
|00000650| 69 66 20 62 65 63 6f 6d | 69 6e 67 20 67 6f 70 68 |if becom|ing goph|
|00000660| 65 72 0d 2a 2a 0d 2a 2a | 09 09 72 65 74 75 72 6e |er.**.**|..return|
|00000670| 20 28 42 6f 6f 6c 65 61 | 6e 29 3a 09 09 54 52 55 | (Boolea|n):..TRU|
|00000680| 45 20 69 66 20 73 75 63 | 63 65 73 73 66 75 6c 20 |E if suc|cessful |
|00000690| 69 6e 20 63 68 61 6e 67 | 69 6e 67 20 73 74 61 74 |in chang|ing stat|
|000006a0| 75 73 0d 2a 2a 0d 2a 2f | 0d 0d 42 6f 6f 6c 65 61 |us.**.*/|..Boolea|
|000006b0| 6e 20 43 54 65 72 6d 69 | 6e 61 6c 50 61 6e 65 3a |n CTermi|nalPane:|
|000006c0| 3a 42 65 63 6f 6d 65 47 | 6f 70 68 65 72 20 28 42 |:BecomeG|opher (B|
|000006d0| 6f 6f 6c 65 61 6e 20 66 | 42 65 63 6f 6d 69 6e 67 |oolean f|Becoming|
|000006e0| 29 0d 0d 7b 0d 09 69 66 | 20 28 21 66 42 65 63 6f |)..{..if| (!fBeco|
|000006f0| 6d 69 6e 67 29 0d 09 09 | 63 75 72 73 6f 72 56 69 |ming)...|cursorVi|
|00000700| 73 20 3d 20 54 52 55 45 | 3b 0d 09 49 6e 76 61 6c |s = TRUE|;..Inval|
|00000710| 43 68 61 72 52 65 63 74 | 28 74 68 65 43 6f 6c 75 |CharRect|(theColu|
|00000720| 6d 6e 2c 20 74 68 65 4c | 69 6e 65 2c 20 74 68 65 |mn, theL|ine, the|
|00000730| 43 6f 6c 75 6d 6e 2c 20 | 74 68 65 4c 69 6e 65 29 |Column, |theLine)|
|00000740| 3b 0d 09 72 65 74 75 72 | 6e 20 43 50 61 6e 6f 72 |;..retur|n CPanor|
|00000750| 61 6d 61 3a 3a 42 65 63 | 6f 6d 65 47 6f 70 68 65 |ama::Bec|omeGophe|
|00000760| 72 28 66 42 65 63 6f 6d | 69 6e 67 29 3b 0d 7d 0d |r(fBecom|ing);.}.|
|00000770| 0d 0d 2f 2a 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |../*____|________|
|00000780| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000790| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|000007a0| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|000007b0| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 0d 2a 2a 0d 2a 2a |________|__.**.**|
|000007c0| 20 43 61 6c 63 43 68 61 | 72 52 65 63 74 20 28 70 | CalcCha|rRect (p|
|000007d0| 72 6f 74 65 63 74 65 64 | 20 6d 65 74 68 6f 64 29 |rotected| method)|
|000007e0| 0d 2a 2a 0d 2a 2a 09 43 | 61 6c 63 75 6c 61 74 65 |.**.**.C|alculate|
|000007f0| 20 74 68 65 20 73 63 72 | 65 65 6e 20 63 6f 6f 72 | the scr|een coor|
|00000800| 64 69 6e 61 74 65 73 20 | 66 6f 72 20 61 20 73 70 |dinates |for a sp|
|00000810| 65 63 69 66 69 65 64 20 | 72 65 63 74 61 6e 67 6c |ecified |rectangl|
|00000820| 65 20 6f 66 0d 2a 2a 09 | 63 68 61 72 61 63 74 65 |e of.**.|characte|
|00000830| 72 20 63 6f 6f 72 64 69 | 6e 61 74 65 73 2e 20 55 |r coordi|nates. U|
|00000840| 70 70 65 72 20 6c 65 66 | 74 20 63 6f 72 6e 65 72 |pper lef|t corner|
|00000850| 20 69 73 20 28 30 2c 30 | 29 2e 0d 2a 2a 0d 2a 2a | is (0,0|)..**.**|
|00000860| 09 09 6c 65 66 74 20 28 | 73 68 6f 72 74 29 3a 09 |..left (|short):.|
|00000870| 09 09 6c 65 66 74 20 65 | 64 67 65 20 6f 66 20 63 |..left e|dge of c|
|00000880| 68 61 72 20 72 65 63 74 | 61 6e 67 6c 65 0d 2a 2a |har rect|angle.**|
|00000890| 09 09 74 6f 70 20 28 73 | 68 6f 72 74 29 3a 09 09 |..top (s|hort):..|
|000008a0| 09 74 6f 70 20 65 64 67 | 65 0d 2a 2a 09 09 72 69 |.top edg|e.**..ri|
|000008b0| 67 68 74 20 28 73 68 6f | 72 74 29 3a 09 09 09 72 |ght (sho|rt):...r|
|000008c0| 69 67 68 74 20 65 64 67 | 65 2c 20 69 6e 63 6c 75 |ight edg|e, inclu|
|000008d0| 73 69 7a 65 0d 2a 2a 09 | 09 62 6f 74 74 6f 6d 20 |size.**.|.bottom |
|000008e0| 28 73 68 6f 72 74 29 3a | 09 09 09 62 6f 74 74 6f |(short):|...botto|
|000008f0| 6d 20 65 64 67 65 2c 20 | 69 6e 63 6c 75 73 69 76 |m edge, |inclusiv|
|00000900| 65 0d 2a 2a 09 09 74 68 | 65 52 65 63 74 20 28 4c |e.**..th|eRect (L|
|00000910| 6f 6e 67 52 65 63 74 20 | 2a 29 3a 09 63 6f 6f 72 |ongRect |*):.coor|
|00000920| 64 69 6e 61 74 65 73 20 | 72 65 74 75 72 6e 65 64 |dinates |returned|
|00000930| 20 74 6f 20 74 68 69 73 | 20 72 65 63 74 61 6e 67 | to this| rectang|
|00000940| 6c 65 0d 2a 2a 0d 2a 2f | 0d 0d 76 6f 69 64 20 43 |le.**.*/|..void C|
|00000950| 54 65 72 6d 69 6e 61 6c | 50 61 6e 65 3a 3a 43 61 |Terminal|Pane::Ca|
|00000960| 6c 63 43 68 61 72 52 65 | 63 74 20 28 73 68 6f 72 |lcCharRe|ct (shor|
|00000970| 74 20 6c 65 66 74 2c 20 | 73 68 6f 72 74 20 74 6f |t left, |short to|
|00000980| 70 2c 20 73 68 6f 72 74 | 20 72 69 67 68 74 2c 20 |p, short| right, |
|00000990| 73 68 6f 72 74 20 62 6f | 74 74 6f 6d 2c 0d 09 09 |short bo|ttom,...|
|000009a0| 09 09 09 09 09 4c 6f 6e | 67 52 65 63 74 20 2a 74 |.....Lon|gRect *t|
|000009b0| 68 65 52 65 63 74 29 0d | 0d 7b 0d 09 53 65 74 4c |heRect).|.{..SetL|
|000009c0| 6f 6e 67 52 65 63 74 28 | 74 68 65 52 65 63 74 2c |ongRect(|theRect,|
|000009d0| 0d 09 09 09 09 28 6c 6f | 6e 67 29 20 6c 65 66 74 |.....(lo|ng) left|
|000009e0| 20 2a 20 70 69 78 65 6c | 73 58 20 2b 20 6f 66 66 | * pixel|sX + off|
|000009f0| 73 65 74 58 2c 0d 09 09 | 09 09 28 6c 6f 6e 67 29 |setX,...|..(long)|
|00000a00| 20 74 6f 70 20 2a 20 70 | 69 78 65 6c 73 59 20 2b | top * p|ixelsY +|
|00000a10| 20 6f 66 66 73 65 74 59 | 2c 0d 09 09 09 09 28 6c | offsetY|,.....(l|
|00000a20| 6f 6e 67 29 20 28 72 69 | 67 68 74 2b 31 29 20 2a |ong) (ri|ght+1) *|
|00000a30| 20 70 69 78 65 6c 73 58 | 20 2b 20 6f 66 66 73 65 | pixelsX| + offse|
|00000a40| 74 58 2c 0d 09 09 09 09 | 28 6c 6f 6e 67 29 20 28 |tX,.....|(long) (|
|00000a50| 62 6f 74 74 6f 6d 2b 31 | 29 20 2a 20 70 69 78 65 |bottom+1|) * pixe|
|00000a60| 6c 73 59 20 2b 20 6f 66 | 66 73 65 74 59 29 3b 0d |lsY + of|fsetY);.|
|00000a70| 7d 0d 0d 0d 2f 2a 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |}.../*__|________|
|00000a80| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000a90| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000aa0| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000ab0| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 0d 2a 2a 0d |________|____.**.|
|00000ac0| 2a 2a 20 43 6c 65 61 72 | 54 6f 45 4f 4c 20 28 70 |** Clear|ToEOL (p|
|00000ad0| 72 6f 74 65 63 74 65 64 | 20 6d 65 74 68 6f 64 29 |rotected| method)|
|00000ae0| 0d 2a 2a 0d 2a 2a 09 43 | 6c 65 61 72 20 66 72 6f |.**.**.C|lear fro|
|00000af0| 6d 20 74 68 65 20 69 6e | 64 69 63 61 74 65 64 20 |m the in|dicated |
|00000b00| 70 6f 69 6e 74 20 74 6f | 20 74 68 65 20 65 6e 64 |point to| the end|
|00000b10| 20 6f 66 20 61 20 6c 69 | 6e 65 2e 20 55 70 70 65 | of a li|ne. Uppe|
|00000b20| 72 20 6c 65 66 74 0d 2a | 2a 09 63 6f 72 6e 65 72 |r left.*|*.corner|
|00000b30| 20 69 73 20 28 30 2c 30 | 29 2e 0d 2a 2a 0d 2a 2a | is (0,0|)..**.**|
|00000b40| 09 09 63 6f 6c 20 28 73 | 68 6f 72 74 29 3a 09 66 |..col (s|hort):.f|
|00000b50| 69 72 73 74 20 63 6f 6c | 75 6d 6e 20 69 6e 20 6c |irst col|umn in l|
|00000b60| 69 6e 65 20 74 6f 20 63 | 6c 65 61 72 0d 2a 2a 09 |ine to c|lear.**.|
|00000b70| 09 6c 69 6e 65 20 28 73 | 68 6f 72 74 29 3a 09 6c |.line (s|hort):.l|
|00000b80| 69 6e 65 20 74 6f 20 62 | 65 20 63 6c 65 61 72 65 |ine to b|e cleare|
|00000b90| 64 0d 2a 2a 0d 2a 2f 0d | 0d 76 6f 69 64 20 43 54 |d.**.*/.|.void CT|
|00000ba0| 65 72 6d 69 6e 61 6c 50 | 61 6e 65 3a 3a 43 6c 65 |erminalP|ane::Cle|
|00000bb0| 61 72 54 6f 45 4f 4c 20 | 28 73 68 6f 72 74 20 63 |arToEOL |(short c|
|00000bc0| 6f 6c 2c 20 73 68 6f 72 | 74 20 6c 69 6e 65 29 0d |ol, shor|t line).|
|00000bd0| 0d 7b 0d 09 49 6e 76 61 | 6c 43 68 61 72 52 65 63 |.{..Inva|lCharRec|
|00000be0| 74 28 63 6f 6c 2c 20 6c | 69 6e 65 2c 20 6d 61 78 |t(col, l|ine, max|
|00000bf0| 58 2d 31 2c 20 6c 69 6e | 65 29 3b 0d 09 77 68 69 |X-1, lin|e);..whi|
|00000c00| 6c 65 20 28 63 6f 6c 20 | 3c 20 6d 61 78 58 29 0d |le (col |< maxX).|
|00000c10| 09 09 74 68 65 53 63 72 | 65 65 6e 5b 6c 69 6e 65 |..theScr|een[line|
|00000c20| 5d 5b 63 6f 6c 2b 2b 5d | 20 3d 20 27 20 27 3b 0d |][col++]| = ' ';.|
|00000c30| 7d 0d 0d 0d 2f 2a 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |}.../*__|________|
|00000c40| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000c50| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000c60| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000c70| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 0d 2a 2a 0d |________|____.**.|
|00000c80| 2a 2a 20 43 6c 65 61 72 | 54 6f 45 4f 53 20 28 70 |** Clear|ToEOS (p|
|00000c90| 72 6f 74 65 63 74 65 64 | 20 6d 65 74 68 6f 64 29 |rotected| method)|
|00000ca0| 0d 2a 2a 0d 2a 2a 09 43 | 6c 65 61 72 20 66 72 6f |.**.**.C|lear fro|
|00000cb0| 6d 20 74 68 65 20 69 6e | 64 69 63 61 74 65 64 20 |m the in|dicated |
|00000cc0| 70 6f 69 6e 74 20 74 6f | 20 74 68 65 20 65 6e 64 |point to| the end|
|00000cd0| 20 6f 66 20 74 68 65 20 | 73 63 72 65 65 6e 2e 20 | of the |screen. |
|00000ce0| 55 70 70 65 72 20 6c 65 | 66 74 0d 2a 2a 09 63 6f |Upper le|ft.**.co|
|00000cf0| 72 6e 65 72 20 69 73 20 | 28 30 2c 30 29 2e 0d 2a |rner is |(0,0)..*|
|00000d00| 2a 0d 2a 2a 09 09 63 6f | 6c 20 28 73 68 6f 72 74 |*.**..co|l (short|
|00000d10| 29 3a 09 66 69 72 73 74 | 20 63 6f 6c 75 6d 6e 20 |):.first| column |
|00000d20| 69 6e 20 66 69 72 73 74 | 20 6c 69 6e 65 20 74 6f |in first| line to|
|00000d30| 20 63 6c 65 61 72 0d 2a | 2a 09 09 6c 69 6e 65 20 | clear.*|*..line |
|00000d40| 28 73 68 6f 72 74 29 3a | 09 66 69 72 73 74 20 6c |(short):|.first l|
|00000d50| 69 6e 65 20 74 6f 20 62 | 65 20 63 6c 65 61 72 65 |ine to b|e cleare|
|00000d60| 64 0d 2a 2a 0d 2a 2f 0d | 0d 76 6f 69 64 20 43 54 |d.**.*/.|.void CT|
|00000d70| 65 72 6d 69 6e 61 6c 50 | 61 6e 65 3a 3a 43 6c 65 |erminalP|ane::Cle|
|00000d80| 61 72 54 6f 45 4f 53 20 | 28 73 68 6f 72 74 20 63 |arToEOS |(short c|
|00000d90| 6f 6c 2c 20 73 68 6f 72 | 74 20 6c 69 6e 65 29 0d |ol, shor|t line).|
|00000da0| 0d 7b 0d 09 77 68 69 6c | 65 20 28 6c 69 6e 65 20 |.{..whil|e (line |
|00000db0| 3c 20 6d 61 78 59 29 20 | 7b 0d 09 09 43 6c 65 61 |< maxY) |{...Clea|
|00000dc0| 72 54 6f 45 4f 4c 28 63 | 6f 6c 2c 20 6c 69 6e 65 |rToEOL(c|ol, line|
|00000dd0| 2b 2b 29 3b 0d 09 09 63 | 6f 6c 20 3d 20 30 3b 0d |++);...c|ol = 0;.|
|00000de0| 09 7d 0d 7d 0d 0d 0d 2f | 2a 5f 5f 5f 5f 5f 5f 5f |.}.}.../|*_______|
|00000df0| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000e00| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000e10| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000e20| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 0d |________|_______.|
|00000e30| 2a 2a 0d 2a 2a 20 43 75 | 72 73 6f 72 4d 6f 76 65 |**.** Cu|rsorMove|
|00000e40| 64 0d 2a 2a 0d 2a 2a 09 | 55 70 64 61 74 65 20 74 |d.**.**.|Update t|
|00000e50| 68 65 20 62 6c 69 6e 6b | 69 6e 67 20 63 75 72 73 |he blink|ing curs|
|00000e60| 6f 72 20 62 6c 6f 63 6b | 2e 0d 2a 2a 0d 2a 2f 0d |or block|..**.*/.|
|00000e70| 0d 76 6f 69 64 20 43 54 | 65 72 6d 69 6e 61 6c 50 |.void CT|erminalP|
|00000e80| 61 6e 65 3a 3a 43 75 72 | 73 6f 72 4d 6f 76 65 64 |ane::Cur|sorMoved|
|00000e90| 20 28 76 6f 69 64 29 0d | 0d 7b 0d 09 63 75 72 73 | (void).|.{..curs|
|00000ea0| 6f 72 56 69 73 20 3d 20 | 54 52 55 45 3b 0d 09 6c |orVis = |TRUE;..l|
|00000eb0| 61 73 74 43 75 72 73 6f | 72 54 69 63 6b 20 3d 20 |astCurso|rTick = |
|00000ec0| 54 69 63 6b 73 3b 0d 09 | 49 6e 76 61 6c 43 68 61 |Ticks;..|InvalCha|
|00000ed0| 72 52 65 63 74 28 6c 61 | 73 74 43 75 72 73 6f 72 |rRect(la|stCursor|
|00000ee0| 43 6f 6c 2c 20 6c 61 73 | 74 43 75 72 73 6f 72 4c |Col, las|tCursorL|
|00000ef0| 69 6e 65 2c 20 6c 61 73 | 74 43 75 72 73 6f 72 43 |ine, las|tCursorC|
|00000f00| 6f 6c 2c 20 6c 61 73 74 | 43 75 72 73 6f 72 4c 69 |ol, last|CursorLi|
|00000f10| 6e 65 29 3b 0d 09 49 6e | 76 61 6c 43 68 61 72 52 |ne);..In|valCharR|
|00000f20| 65 63 74 28 74 68 65 43 | 6f 6c 75 6d 6e 2c 20 74 |ect(theC|olumn, t|
|00000f30| 68 65 4c 69 6e 65 2c 20 | 74 68 65 43 6f 6c 75 6d |heLine, |theColum|
|00000f40| 6e 2c 20 74 68 65 4c 69 | 6e 65 29 3b 0d 09 6c 61 |n, theLi|ne);..la|
|00000f50| 73 74 43 75 72 73 6f 72 | 43 6f 6c 20 3d 20 74 68 |stCursor|Col = th|
|00000f60| 65 43 6f 6c 75 6d 6e 3b | 0d 09 6c 61 73 74 43 75 |eColumn;|..lastCu|
|00000f70| 72 73 6f 72 4c 69 6e 65 | 20 3d 20 74 68 65 4c 69 |rsorLine| = theLi|
|00000f80| 6e 65 3b 0d 7d 0d 0d 0d | 2f 2a 5f 5f 5f 5f 5f 5f |ne;.}...|/*______|
|00000f90| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000fa0| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000fb0| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000fc0| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000fd0| 0d 2a 2a 0d 2a 2a 20 44 | 61 77 64 6c 65 0d 2a 2a |.**.** D|awdle.**|
|00000fe0| 0d 2a 2a 09 42 6c 69 6e | 6b 20 74 68 65 20 63 75 |.**.Blin|k the cu|
|00000ff0| 72 73 6f 72 20 69 66 20 | 6e 65 63 65 73 73 61 72 |rsor if |necessar|
|00001000| 79 2e 20 43 75 72 73 6f | 72 20 62 6c 69 6e 6b 73 |y. Curso|r blinks|
|00001010| 20 61 74 20 74 68 65 20 | 75 73 65 72 2d 64 65 66 | at the |user-def|
|00001020| 69 6e 65 64 20 72 61 74 | 65 20 66 6f 72 20 69 6e |ined rat|e for in|
|00001030| 73 65 72 74 69 6f 6e 20 | 70 6f 69 6e 74 0d 2a 2a |sertion |point.**|
|00001040| 09 62 6c 69 6e 6b 69 6e | 67 2e 0d 2a 2a 0d 2a 2a |.blinkin|g..**.**|
|00001050| 09 09 6d 61 78 53 6c 65 | 65 70 20 28 6c 6f 6e 67 |..maxSle|ep (long|
|00001060| 20 2a 29 3a 09 6d 61 78 | 69 6d 75 6d 20 73 6c 65 | *):.max|imum sle|
|00001070| 65 70 20 76 61 6c 75 65 | 2c 20 75 70 64 61 74 65 |ep value|, update|
|00001080| 64 20 69 66 20 6e 65 63 | 65 73 73 61 72 79 0d 2a |d if nec|essary.*|
|00001090| 2a 0d 2a 2f 0d 0d 76 6f | 69 64 20 43 54 65 72 6d |*.*/..vo|id CTerm|
|000010a0| 69 6e 61 6c 50 61 6e 65 | 3a 3a 44 61 77 64 6c 65 |inalPane|::Dawdle|
|000010b0| 20 28 6c 6f 6e 67 20 2a | 6d 61 78 53 6c 65 65 70 | (long *|maxSleep|
|000010c0| 29 0d 0d 7b 0d 09 43 50 | 61 6e 6f 72 61 6d 61 3a |)..{..CP|anorama:|
|000010d0| 3a 44 61 77 64 6c 65 28 | 6d 61 78 53 6c 65 65 70 |:Dawdle(|maxSleep|
|000010e0| 29 3b 0d 09 69 66 20 28 | 62 6c 69 6e 6b 43 75 72 |);..if (|blinkCur|
|000010f0| 73 6f 72 29 20 7b 0d 09 | 09 2a 6d 61 78 53 6c 65 |sor) {..|.*maxSle|
|00001100| 65 70 20 3d 20 4d 69 6e | 28 2a 6d 61 78 53 6c 65 |ep = Min|(*maxSle|
|00001110| 65 70 2c 20 47 65 74 43 | 61 72 65 74 54 69 6d 65 |ep, GetC|aretTime|
|00001120| 28 29 29 3b 0d 09 09 69 | 66 20 28 54 69 63 6b 73 |());...i|f (Ticks|
|00001130| 20 3e 3d 20 6c 61 73 74 | 43 75 72 73 6f 72 54 69 | >= last|CursorTi|
|00001140| 63 6b 20 2b 20 47 65 74 | 43 61 72 65 74 54 69 6d |ck + Get|CaretTim|
|00001150| 65 28 29 29 20 7b 0d 09 | 09 09 63 75 72 73 6f 72 |e()) {..|..cursor|
|00001160| 56 69 73 20 3d 20 21 63 | 75 72 73 6f 72 56 69 73 |Vis = !c|ursorVis|
|00001170| 3b 0d 09 09 09 6c 61 73 | 74 43 75 72 73 6f 72 54 |;....las|tCursorT|
|00001180| 69 63 6b 20 3d 20 54 69 | 63 6b 73 3b 0d 09 09 09 |ick = Ti|cks;....|
|00001190| 49 6e 76 61 6c 43 68 61 | 72 52 65 63 74 28 74 68 |InvalCha|rRect(th|
|000011a0| 65 43 6f 6c 75 6d 6e 2c | 20 74 68 65 4c 69 6e 65 |eColumn,| theLine|
|000011b0| 2c 20 74 68 65 43 6f 6c | 75 6d 6e 2c 20 74 68 65 |, theCol|umn, the|
|000011c0| 4c 69 6e 65 29 3b 0d 09 | 09 7d 0d 09 7d 0d 7d 0d |Line);..|.}..}.}.|
|000011d0| 0d 0d 2f 2a 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |../*____|________|
|000011e0| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|000011f0| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00001200| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00001210| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 0d 2a 2a 0d 2a 2a |________|__.**.**|
|00001220| 20 44 6f 43 6c 65 61 72 | 53 63 72 65 65 6e 0d 2a | DoClear|Screen.*|
|00001230| 2a 0d 2a 2a 09 43 6c 65 | 61 72 20 74 68 65 20 73 |*.**.Cle|ar the s|
|00001240| 63 72 65 65 6e 20 61 6e | 64 20 6d 6f 76 65 20 74 |creen an|d move t|
|00001250| 68 65 20 63 75 72 73 6f | 72 20 74 6f 20 28 30 2c |he curso|r to (0,|
|00001260| 30 29 2e 0d 2a 2a 0d 2a | 2f 0d 0d 76 6f 69 64 20 |0)..**.*|/..void |
|00001270| 43 54 65 72 6d 69 6e 61 | 6c 50 61 6e 65 3a 3a 44 |CTermina|lPane::D|
|00001280| 6f 43 6c 65 61 72 53 63 | 72 65 65 6e 20 28 76 6f |oClearSc|reen (vo|
|00001290| 69 64 29 0d 0d 7b 0d 09 | 72 65 67 69 73 74 65 72 |id)..{..|register|
|000012a0| 20 73 68 6f 72 74 20 78 | 2c 20 79 3b 0d 09 0d 09 | short x|, y;....|
|000012b0| 74 68 65 4c 69 6e 65 20 | 3d 20 74 68 65 43 6f 6c |theLine |= theCol|
|000012c0| 75 6d 6e 20 3d 20 30 3b | 0d 09 43 75 72 73 6f 72 |umn = 0;|..Cursor|
|000012d0| 4d 6f 76 65 64 28 29 3b | 0d 0d 09 66 6f 72 20 28 |Moved();|...for (|
|000012e0| 79 20 3d 20 30 3b 20 79 | 20 3c 20 6d 61 78 59 3b |y = 0; y| < maxY;|
|000012f0| 20 2b 2b 79 29 0d 09 09 | 66 6f 72 20 28 78 20 3d | ++y)...|for (x =|
|00001300| 20 30 3b 20 78 20 3c 20 | 6d 61 78 58 3b 20 2b 2b | 0; x < |maxX; ++|
|00001310| 78 29 0d 09 09 09 74 68 | 65 53 63 72 65 65 6e 5b |x)....th|eScreen[|
|00001320| 79 5d 5b 78 5d 20 3d 20 | 27 20 27 3b 0d 09 52 65 |y][x] = |' ';..Re|
|00001330| 66 72 65 73 68 28 29 3b | 0d 7d 0d 0d 0d 2f 2a 5f |fresh();|.}.../*_|
|00001340| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00001350| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00001360| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00001370| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00001380| 5f 5f 5f 5f 5f 0d 2a 2a | 0d 2a 2a 20 44 6f 45 72 |_____.**|.** DoEr|
|00001390| 61 73 65 43 68 61 72 0d | 2a 2a 0d 2a 2a 09 45 72 |aseChar.|**.**.Er|
|000013a0| 61 73 65 20 6f 6e 65 20 | 63 68 61 72 61 63 74 65 |ase one |characte|
|000013b0| 72 20 66 72 6f 6d 20 73 | 63 72 65 65 6e 20 28 62 |r from s|creen (b|
|000013c0| 61 63 6b 73 70 61 63 65 | 29 2e 0d 2a 2a 0d 2a 2f |ackspace|)..**.*/|
|000013d0| 0d 0d 76 6f 69 64 20 43 | 54 65 72 6d 69 6e 61 6c |..void C|Terminal|
|000013e0| 50 61 6e 65 3a 3a 44 6f | 45 72 61 73 65 43 68 61 |Pane::Do|EraseCha|
|000013f0| 72 20 28 76 6f 69 64 29 | 0d 0d 7b 0d 09 72 65 67 |r (void)|..{..reg|
|00001400| 69 73 74 65 72 20 73 68 | 6f 72 74 20 78 3b 0d 09 |ister sh|ort x;..|
|00001410| 0d 09 69 66 20 28 74 68 | 65 43 6f 6c 75 6d 6e 20 |..if (th|eColumn |
|00001420| 3e 20 30 29 20 7b 0d 09 | 09 74 68 65 43 6f 6c 75 |> 0) {..|.theColu|
|00001430| 6d 6e 2d 2d 3b 0d 09 09 | 66 6f 72 20 28 78 20 3d |mn--;...|for (x =|
|00001440| 20 74 68 65 43 6f 6c 75 | 6d 6e 3b 20 78 20 3c 20 | theColu|mn; x < |
|00001450| 6d 61 78 58 2d 31 3b 20 | 78 2b 2b 29 0d 09 09 09 |maxX-1; |x++)....|
|00001460| 74 68 65 53 63 72 65 65 | 6e 5b 74 68 65 4c 69 6e |theScree|n[theLin|
|00001470| 65 5d 5b 78 5d 20 3d 20 | 74 68 65 53 63 72 65 65 |e][x] = |theScree|
|00001480| 6e 5b 74 68 65 4c 69 6e | 65 5d 5b 78 2b 31 5d 3b |n[theLin|e][x+1];|
|00001490| 0d 09 09 74 68 65 53 63 | 72 65 65 6e 5b 74 68 65 |...theSc|reen[the|
|000014a0| 4c 69 6e 65 5d 5b 6d 61 | 78 58 2d 31 5d 20 3d 20 |Line][ma|xX-1] = |
|000014b0| 27 20 27 3b 0d 09 09 49 | 6e 76 61 6c 43 68 61 72 |' ';...I|nvalChar|
|000014c0| 52 65 63 74 28 74 68 65 | 43 6f 6c 75 6d 6e 2c 20 |Rect(the|Column, |
|000014d0| 74 68 65 4c 69 6e 65 2c | 20 6d 61 78 58 2d 31 2c |theLine,| maxX-1,|
|000014e0| 20 74 68 65 4c 69 6e 65 | 29 3b 0d 09 09 43 75 72 | theLine|);...Cur|
|000014f0| 73 6f 72 4d 6f 76 65 64 | 28 29 3b 0d 09 7d 0d 7d |sorMoved|();..}.}|
|00001500| 0d 0d 0d 2f 2a 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |.../*___|________|
|00001510| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00001520| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00001530| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00001540| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 0d 2a 2a 0d 2a |________|___.**.*|
|00001550| 2a 20 44 6f 45 72 61 73 | 65 4c 69 6e 65 0d 2a 2a |* DoEras|eLine.**|
|00001560| 0d 2a 2a 09 4d 6f 76 65 | 20 74 68 65 20 63 75 72 |.**.Move| the cur|
|00001570| 73 6f 72 20 62 61 63 6b | 20 74 6f 20 62 65 67 69 |sor back| to begi|
|00001580| 6e 6e 69 6e 67 20 6f 66 | 20 6c 69 6e 65 20 26 20 |nning of| line & |
|00001590| 65 72 61 73 65 20 6c 69 | 6e 65 2e 0d 2a 2a 0d 2a |erase li|ne..**.*|
|000015a0| 2f 0d 0d 76 6f 69 64 20 | 43 54 65 72 6d 69 6e 61 |/..void |CTermina|
|000015b0| 6c 50 61 6e 65 3a 3a 44 | 6f 45 72 61 73 65 4c 69 |lPane::D|oEraseLi|
|000015c0| 6e 65 20 28 76 6f 69 64 | 29 0d 0d 7b 0d 09 74 68 |ne (void|)..{..th|
|000015d0| 65 43 6f 6c 75 6d 6e 20 | 3d 20 30 3b 0d 09 43 6c |eColumn |= 0;..Cl|
|000015e0| 65 61 72 54 6f 45 4f 4c | 28 30 2c 20 74 68 65 4c |earToEOL|(0, theL|
|000015f0| 69 6e 65 29 3b 0d 09 43 | 75 72 73 6f 72 4d 6f 76 |ine);..C|ursorMov|
|00001600| 65 64 28 29 3b 0d 7d 0d | 0d 0d 2f 2a 5f 5f 5f 5f |ed();.}.|../*____|
|00001610| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00001620| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00001630| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00001640| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00001650| 5f 5f 0d 2a 2a 0d 2a 2a | 20 44 6f 57 72 69 74 65 |__.**.**| DoWrite|
|00001660| 42 66 72 0d 2a 2a 0d 2a | 2a 09 57 72 69 74 65 20 |Bfr.**.*|*.Write |
|00001670| 74 68 65 20 63 6f 6e 74 | 65 6e 74 73 20 6f 66 20 |the cont|ents of |
|00001680| 61 20 74 65 78 74 20 62 | 75 66 66 65 72 20 74 6f |a text b|uffer to|
|00001690| 20 74 68 65 20 74 65 72 | 6d 69 6e 61 6c 2e 20 54 | the ter|minal. T|
|000016a0| 68 69 73 20 6d 65 74 68 | 6f 64 0d 2a 2a 09 6d 65 |his meth|od.**.me|
|000016b0| 72 65 6c 79 20 64 69 73 | 68 65 73 20 6f 75 74 20 |rely dis|hes out |
|000016c0| 74 68 65 20 63 68 61 72 | 61 63 74 65 72 73 20 74 |the char|acters t|
|000016d0| 6f 20 74 68 65 20 44 6f | 57 72 69 74 65 43 68 61 |o the Do|WriteCha|
|000016e0| 72 20 6d 65 74 68 6f 64 | 2e 0d 2a 2a 0d 2a 2a 09 |r method|..**.**.|
|000016f0| 09 74 68 65 53 74 72 20 | 28 63 68 61 72 20 2a 29 |.theStr |(char *)|
|00001700| 3a 09 74 68 65 20 62 75 | 66 66 65 72 20 74 6f 20 |:.the bu|ffer to |
|00001710| 77 72 69 74 65 0d 2a 2a | 09 09 74 68 65 53 69 7a |write.**|..theSiz|
|00001720| 65 20 28 73 68 6f 72 74 | 29 3a 09 73 69 7a 65 20 |e (short|):.size |
|00001730| 6f 66 20 74 68 65 20 64 | 61 74 61 20 62 75 66 66 |of the d|ata buff|
|00001740| 65 72 0d 2a 2a 0d 2a 2f | 0d 0d 76 6f 69 64 20 43 |er.**.*/|..void C|
|00001750| 54 65 72 6d 69 6e 61 6c | 50 61 6e 65 3a 3a 44 6f |Terminal|Pane::Do|
|00001760| 57 72 69 74 65 42 66 72 | 20 28 63 68 61 72 20 2a |WriteBfr| (char *|
|00001770| 74 68 65 53 74 72 2c 20 | 73 68 6f 72 74 20 74 68 |theStr, |short th|
|00001780| 65 53 69 7a 65 29 0d 0d | 7b 0d 09 77 68 69 6c 65 |eSize)..|{..while|
|00001790| 20 28 74 68 65 53 69 7a | 65 2d 2d 29 0d 09 09 44 | (theSiz|e--)...D|
|000017a0| 6f 57 72 69 74 65 43 68 | 61 72 28 2a 28 74 68 65 |oWriteCh|ar(*(the|
|000017b0| 53 74 72 2b 2b 29 29 3b | 0d 7d 0d 0d 0d 2f 2a 5f |Str++));|.}.../*_|
|000017c0| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|000017d0| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|000017e0| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|000017f0| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00001800| 5f 5f 5f 5f 5f 0d 2a 2a | 0d 2a 2a 20 44 6f 57 72 |_____.**|.** DoWr|
|00001810| 69 74 65 43 68 61 72 0d | 2a 2a 0d 2a 2a 09 57 72 |iteChar.|**.**.Wr|
|00001820| 69 74 65 20 61 20 63 68 | 61 72 61 63 74 65 72 20 |ite a ch|aracter |
|00001830| 74 6f 20 74 68 65 20 74 | 65 72 6d 69 6e 61 6c 2e |to the t|erminal.|
|00001840| 20 54 68 69 73 20 6d 65 | 74 68 6f 64 20 68 61 6e | This me|thod han|
|00001850| 64 6c 65 73 20 2a 62 61 | 73 69 63 2a 20 74 65 72 |dles *ba|sic* ter|
|00001860| 6d 69 6e 61 6c 20 65 6d | 75 6c 61 74 69 6f 6e 2e |minal em|ulation.|
|00001870| 0d 2a 2a 09 54 6f 20 70 | 72 6f 76 69 64 65 20 6d |.**.To p|rovide m|
|00001880| 6f 72 65 20 73 6f 70 68 | 69 73 74 69 63 61 74 65 |ore soph|isticate|
|00001890| 64 20 65 6d 75 6c 61 74 | 69 6f 6e 2c 20 6f 76 65 |d emulat|ion, ove|
|000018a0| 72 72 69 64 65 20 74 68 | 69 73 20 6d 65 74 68 6f |rride th|is metho|
|000018b0| 64 2e 0d 2a 2a 0d 2a 2a | 09 09 74 68 65 43 68 61 |d..**.**|..theCha|
|000018c0| 72 20 28 63 68 61 72 29 | 3a 09 09 74 68 65 20 63 |r (char)|:..the c|
|000018d0| 68 61 72 61 63 74 65 72 | 20 74 6f 20 77 72 69 74 |haracter| to writ|
|000018e0| 65 0d 2a 2a 0d 2a 2f 0d | 0d 76 6f 69 64 20 43 54 |e.**.*/.|.void CT|
|000018f0| 65 72 6d 69 6e 61 6c 50 | 61 6e 65 3a 3a 44 6f 57 |erminalP|ane::DoW|
|00001900| 72 69 74 65 43 68 61 72 | 20 28 63 68 61 72 20 74 |riteChar| (char t|
|00001910| 68 65 43 68 61 72 29 0d | 0d 7b 0d 09 2f 2a 20 70 |heChar).|.{../* p|
|00001920| 61 72 73 65 20 61 20 66 | 65 77 20 63 6f 6e 74 72 |arse a f|ew contr|
|00001930| 6f 6c 20 63 68 61 72 61 | 63 74 65 72 73 20 2a 2f |ol chara|cters */|
|00001940| 0d 09 0d 09 73 77 69 74 | 63 68 20 28 74 68 65 43 |....swit|ch (theC|
|00001950| 68 61 72 29 20 7b 0d 0d | 09 09 63 61 73 65 20 63 |har) {..|..case c|
|00001960| 68 61 72 4e 55 4c 3a 0d | 09 09 09 62 72 65 61 6b |harNUL:.|...break|
|00001970| 3b 0d 0d 09 09 63 61 73 | 65 20 63 68 61 72 42 45 |;....cas|e charBE|
|00001980| 4c 3a 0d 09 09 09 53 79 | 73 42 65 65 70 28 30 29 |L:....Sy|sBeep(0)|
|00001990| 3b 0d 09 09 09 62 72 65 | 61 6b 3b 0d 0d 09 09 63 |;....bre|ak;....c|
|000019a0| 61 73 65 20 63 68 61 72 | 42 53 3a 0d 09 09 09 69 |ase char|BS:....i|
|000019b0| 66 20 28 74 68 65 43 6f | 6c 75 6d 6e 20 3e 20 30 |f (theCo|lumn > 0|
|000019c0| 29 0d 09 09 09 09 74 68 | 65 43 6f 6c 75 6d 6e 2d |).....th|eColumn-|
|000019d0| 2d 3b 0d 09 09 09 43 75 | 72 73 6f 72 4d 6f 76 65 |-;....Cu|rsorMove|
|000019e0| 64 28 29 3b 0d 09 09 09 | 62 72 65 61 6b 3b 0d 0d |d();....|break;..|
|000019f0| 09 09 63 61 73 65 20 63 | 68 61 72 48 54 3a 0d 09 |..case c|harHT:..|
|00001a00| 09 09 74 68 65 43 6f 6c | 75 6d 6e 20 3d 20 28 28 |..theCol|umn = ((|
|00001a10| 73 68 6f 72 74 29 20 28 | 28 74 68 65 43 6f 6c 75 |short) (|(theColu|
|00001a20| 6d 6e 20 2b 20 37 29 20 | 2f 20 38 29 29 20 2a 20 |mn + 7) |/ 8)) * |
|00001a30| 38 3b 0d 09 09 09 69 66 | 20 28 74 68 65 43 6f 6c |8;....if| (theCol|
|00001a40| 75 6d 6e 20 3e 3d 20 6d | 61 78 58 29 0d 09 09 09 |umn >= m|axX)....|
|00001a50| 09 74 68 65 43 6f 6c 75 | 6d 6e 20 3d 20 6d 61 78 |.theColu|mn = max|
|00001a60| 58 2d 31 3b 0d 09 09 09 | 43 75 72 73 6f 72 4d 6f |X-1;....|CursorMo|
|00001a70| 76 65 64 28 29 3b 0d 09 | 09 09 62 72 65 61 6b 3b |ved();..|..break;|
|00001a80| 0d 09 09 09 0d 09 09 63 | 61 73 65 20 63 68 61 72 |.......c|ase char|
|00001a90| 4c 46 3a 0d 09 09 09 69 | 66 20 28 74 68 65 4c 69 |LF:....i|f (theLi|
|00001aa0| 6e 65 20 3c 20 6d 61 78 | 59 2d 31 29 0d 09 09 09 |ne < max|Y-1)....|
|00001ab0| 09 74 68 65 4c 69 6e 65 | 2b 2b 3b 0d 09 09 09 65 |.theLine|++;....e|
|00001ac0| 6c 73 65 0d 09 09 09 09 | 53 63 72 6f 6c 6c 54 65 |lse.....|ScrollTe|
|00001ad0| 72 6d 28 29 3b 0d 09 09 | 09 43 75 72 73 6f 72 4d |rm();...|.CursorM|
|00001ae0| 6f 76 65 64 28 29 3b 0d | 09 09 09 53 63 72 6f 6c |oved();.|...Scrol|
|00001af0| 6c 54 6f 53 65 6c 65 63 | 74 69 6f 6e 28 29 3b 0d |lToSelec|tion();.|
|00001b00| 09 09 09 62 72 65 61 6b | 3b 0d 09 09 09 0d 09 09 |...break|;.......|
|00001b10| 63 61 73 65 20 63 68 61 | 72 46 46 3a 0d 09 09 09 |case cha|rFF:....|
|00001b20| 44 6f 43 6c 65 61 72 53 | 63 72 65 65 6e 28 29 3b |DoClearS|creen();|
|00001b30| 0d 09 09 09 53 63 72 6f | 6c 6c 54 6f 53 65 6c 65 |....Scro|llToSele|
|00001b40| 63 74 69 6f 6e 28 29 3b | 0d 09 09 09 62 72 65 61 |ction();|....brea|
|00001b50| 6b 3b 0d 09 09 09 0d 09 | 09 63 61 73 65 20 63 68 |k;......|.case ch|
|00001b60| 61 72 43 52 3a 0d 09 09 | 09 74 68 65 43 6f 6c 75 |arCR:...|.theColu|
|00001b70| 6d 6e 20 3d 20 30 3b 0d | 09 09 09 43 75 72 73 6f |mn = 0;.|...Curso|
|00001b80| 72 4d 6f 76 65 64 28 29 | 3b 0d 09 09 09 62 72 65 |rMoved()|;....bre|
|00001b90| 61 6b 3b 0d 09 09 0d 09 | 09 64 65 66 61 75 6c 74 |ak;.....|.default|
|00001ba0| 3a 0d 09 09 09 74 68 65 | 53 63 72 65 65 6e 5b 74 |:....the|Screen[t|
|00001bb0| 68 65 4c 69 6e 65 5d 5b | 74 68 65 43 6f 6c 75 6d |heLine][|theColum|
|00001bc0| 6e 5d 20 3d 20 74 68 65 | 43 68 61 72 3b 0d 09 09 |n] = the|Char;...|
|00001bd0| 09 49 6e 76 61 6c 43 68 | 61 72 52 65 63 74 28 74 |.InvalCh|arRect(t|
|00001be0| 68 65 43 6f 6c 75 6d 6e | 2c 20 74 68 65 4c 69 6e |heColumn|, theLin|
|00001bf0| 65 2c 20 74 68 65 43 6f | 6c 75 6d 6e 2c 20 74 68 |e, theCo|lumn, th|
|00001c00| 65 4c 69 6e 65 29 3b 0d | 09 09 09 69 66 20 28 74 |eLine);.|...if (t|
|00001c10| 68 65 43 6f 6c 75 6d 6e | 20 3c 20 6d 61 78 58 29 |heColumn| < maxX)|
|00001c20| 0d 09 09 09 09 74 68 65 | 43 6f 6c 75 6d 6e 2b 2b |.....the|Column++|
|00001c30| 3b 0d 09 09 09 43 75 72 | 73 6f 72 4d 6f 76 65 64 |;....Cur|sorMoved|
|00001c40| 28 29 3b 0d 09 7d 0d 7d | 0d 0d 0d 2f 2a 5f 5f 5f |();..}.}|.../*___|
|00001c50| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00001c60| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00001c70| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00001c80| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00001c90| 5f 5f 5f 0d 2a 2a 0d 2a | 2a 20 44 6f 57 72 69 74 |___.**.*|* DoWrit|
|00001ca0| 65 43 68 61 72 4e 75 6d | 0d 2a 2a 0d 2a 2a 09 57 |eCharNum|.**.**.W|
|00001cb0| 72 69 74 65 20 61 20 63 | 68 61 72 61 63 74 65 72 |rite a c|haracter|
|00001cc0| 20 6e 75 6d 62 65 72 20 | 74 6f 20 74 68 65 20 74 | number |to the t|
|00001cd0| 65 72 6d 69 6e 61 6c 2e | 20 50 72 6f 76 69 64 65 |erminal.| Provide|
|00001ce0| 64 20 61 73 20 61 20 64 | 65 62 75 67 67 69 6e 67 |d as a d|ebugging|
|00001cf0| 20 72 6f 75 74 69 6e 65 | 0d 2a 2a 09 62 79 20 6f | routine|.**.by o|
|00001d00| 74 68 65 72 20 63 6c 61 | 73 73 65 73 2e 20 54 68 |ther cla|sses. Th|
|00001d10| 65 20 6e 75 6d 62 65 72 | 20 69 73 20 62 72 61 63 |e number| is brac|
|00001d20| 6b 65 74 65 64 20 62 79 | 20 74 68 65 20 74 77 6f |keted by| the two|
|00001d30| 20 63 68 61 72 61 63 74 | 65 72 73 20 69 6e 64 69 | charact|ers indi|
|00001d40| 63 61 74 65 64 2c 20 69 | 2e 65 2e 0d 2a 2a 09 69 |cated, i|.e..**.i|
|00001d50| 66 20 79 6f 75 20 63 61 | 6c 6c 20 3a 3a 44 6f 57 |f you ca|ll ::DoW|
|00001d60| 72 69 74 65 43 68 61 72 | 4e 75 6d 28 27 21 27 2c |riteChar|Num('!',|
|00001d70| 20 27 5b 27 2c 20 27 5d | 27 29 2c 20 79 6f 75 20 | '[', ']|'), you |
|00001d80| 67 65 74 20 5b 33 33 5d | 20 77 72 69 74 74 65 6e |get [33]| written|
|00001d90| 20 74 6f 20 74 68 65 20 | 74 65 72 6d 69 6e 61 6c | to the |terminal|
|00001da0| 2e 0d 2a 2a 0d 2a 2a 09 | 09 74 68 65 43 68 61 72 |..**.**.|.theChar|
|00001db0| 20 28 63 68 61 72 29 3a | 09 09 74 68 65 20 63 68 | (char):|..the ch|
|00001dc0| 61 72 61 63 74 65 72 20 | 6e 75 6d 62 65 72 20 74 |aracter |number t|
|00001dd0| 6f 20 77 72 69 74 65 0d | 2a 2a 09 09 6c 65 66 74 |o write.|**..left|
|00001de0| 42 72 61 63 6b 65 74 20 | 28 63 68 61 72 29 3a 09 |Bracket |(char):.|
|00001df0| 70 72 65 66 69 78 20 74 | 6f 20 63 68 61 72 61 63 |prefix t|o charac|
|00001e00| 74 65 72 20 6e 75 6d 62 | 65 72 0d 2a 2a 09 09 72 |ter numb|er.**..r|
|00001e10| 69 67 68 74 42 72 61 63 | 6b 65 74 28 63 68 61 72 |ightBrac|ket(char|
|00001e20| 29 3a 09 73 75 66 66 69 | 78 20 74 6f 20 63 68 61 |):.suffi|x to cha|
|00001e30| 72 61 63 74 65 72 20 6e | 75 6d 62 65 72 0d 2a 2a |racter n|umber.**|
|00001e40| 0d 2a 2f 0d 0d 76 6f 69 | 64 20 43 54 65 72 6d 69 |.*/..voi|d CTermi|
|00001e50| 6e 61 6c 50 61 6e 65 3a | 3a 44 6f 57 72 69 74 65 |nalPane:|:DoWrite|
|00001e60| 43 68 61 72 4e 75 6d 20 | 28 63 68 61 72 20 74 68 |CharNum |(char th|
|00001e70| 65 43 68 61 72 2c 20 63 | 68 61 72 20 6c 65 66 74 |eChar, c|har left|
|00001e80| 42 72 61 63 6b 65 74 2c | 20 63 68 61 72 20 72 69 |Bracket,| char ri|
|00001e90| 67 68 74 42 72 61 63 6b | 65 74 29 0d 0d 7b 0d 09 |ghtBrack|et)..{..|
|00001ea0| 53 74 72 32 35 35 20 63 | 4e 75 6d 62 65 72 3b 0d |Str255 c|Number;.|
|00001eb0| 0d 09 44 6f 57 72 69 74 | 65 43 68 61 72 28 6c 65 |..DoWrit|eChar(le|
|00001ec0| 66 74 42 72 61 63 6b 65 | 74 29 3b 0d 0d 09 4e 75 |ftBracke|t);...Nu|
|00001ed0| 6d 54 6f 53 74 72 69 6e | 67 28 28 73 68 6f 72 74 |mToStrin|g((short|
|00001ee0| 29 20 74 68 65 43 68 61 | 72 2c 20 63 4e 75 6d 62 |) theCha|r, cNumb|
|00001ef0| 65 72 29 3b 0d 09 63 4e | 75 6d 62 65 72 5b 63 4e |er);..cN|umber[cN|
|00001f00| 75 6d 62 65 72 5b 30 5d | 2b 31 5d 20 3d 20 27 5c |umber[0]|+1] = '\|
|00001f10| 30 27 3b 0d 09 44 6f 57 | 72 69 74 65 53 74 72 28 |0';..DoW|riteStr(|
|00001f20| 28 63 68 61 72 20 2a 29 | 20 28 26 63 4e 75 6d 62 |(char *)| (&cNumb|
|00001f30| 65 72 29 2b 31 29 3b 0d | 09 0d 09 44 6f 57 72 69 |er)+1);.|...DoWri|
|00001f40| 74 65 43 68 61 72 28 72 | 69 67 68 74 42 72 61 63 |teChar(r|ightBrac|
|00001f50| 6b 65 74 29 3b 0d 7d 0d | 0d 0d 2f 2a 5f 5f 5f 5f |ket);.}.|../*____|
|00001f60| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00001f70| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00001f80| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00001f90| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00001fa0| 5f 5f 0d 2a 2a 0d 2a 2a | 20 44 6f 57 72 69 74 65 |__.**.**| DoWrite|
|00001fb0| 53 74 72 0d 2a 2a 0d 2a | 2a 09 57 72 69 74 65 20 |Str.**.*|*.Write |
|00001fc0| 61 20 73 74 72 69 6e 67 | 20 74 6f 20 74 68 65 20 |a string| to the |
|00001fd0| 74 65 72 6d 69 6e 61 6c | 2e 20 54 68 69 73 20 6d |terminal|. This m|
|00001fe0| 65 74 68 6f 64 20 69 73 | 20 6f 70 74 69 6d 69 7a |ethod is| optimiz|
|00001ff0| 65 64 20 74 6f 20 68 61 | 6e 64 6c 65 20 74 65 78 |ed to ha|ndle tex|
|00002000| 74 20 73 74 72 69 6e 67 | 73 2e 20 49 74 20 73 6b |t string|s. It sk|
|00002010| 69 70 73 0d 2a 2a 09 61 | 6e 79 20 63 6f 6e 74 72 |ips.**.a|ny contr|
|00002020| 6f 6c 20 63 68 61 72 61 | 63 74 65 72 73 20 61 6e |ol chara|cters an|
|00002030| 64 20 73 65 6e 64 73 20 | 74 68 65 6d 20 64 69 72 |d sends |them dir|
|00002040| 65 63 74 6c 79 20 74 6f | 20 44 6f 57 72 69 74 65 |ectly to| DoWrite|
|00002050| 43 68 61 72 2e 0d 2a 2a | 0d 2a 2a 09 09 74 68 65 |Char..**|.**..the|
|00002060| 53 74 72 20 28 63 68 61 | 72 20 2a 29 3a 09 74 68 |Str (cha|r *):.th|
|00002070| 65 20 73 74 72 69 6e 67 | 20 74 6f 20 77 72 69 74 |e string| to writ|
|00002080| 65 20 28 43 20 73 74 72 | 69 6e 67 29 0d 2a 2a 0d |e (C str|ing).**.|
|00002090| 2a 2f 0d 0d 76 6f 69 64 | 20 43 54 65 72 6d 69 6e |*/..void| CTermin|
|000020a0| 61 6c 50 61 6e 65 3a 3a | 44 6f 57 72 69 74 65 53 |alPane::|DoWriteS|
|000020b0| 74 72 20 28 63 68 61 72 | 20 2a 74 68 65 53 74 72 |tr (char| *theStr|
|000020c0| 29 0d 0d 7b 0d 09 73 68 | 6f 72 74 20 6c 65 66 74 |)..{..sh|ort left|
|000020d0| 43 6f 6c 3b 0d 09 0d 09 | 2f 2a 20 6f 70 74 69 6d |Col;....|/* optim|
|000020e0| 69 7a 65 20 66 6f 72 20 | 74 65 78 74 20 63 68 61 |ize for |text cha|
|000020f0| 72 61 63 74 65 72 73 20 | 2a 2f 0d 09 0d 09 77 68 |racters |*/....wh|
|00002100| 69 6c 65 20 28 2a 74 68 | 65 53 74 72 29 20 7b 0d |ile (*th|eStr) {.|
|00002110| 09 09 69 66 20 28 2a 74 | 68 65 53 74 72 20 3e 3d |..if (*t|heStr >=|
|00002120| 20 27 20 27 29 20 7b 0d | 09 09 09 6c 65 66 74 43 | ' ') {.|...leftC|
|00002130| 6f 6c 20 3d 20 74 68 65 | 43 6f 6c 75 6d 6e 3b 0d |ol = the|Column;.|
|00002140| 09 09 09 77 68 69 6c 65 | 20 28 2a 74 68 65 53 74 |...while| (*theSt|
|00002150| 72 20 3e 3d 20 27 20 27 | 29 20 7b 0d 09 09 09 09 |r >= ' '|) {.....|
|00002160| 74 68 65 53 63 72 65 65 | 6e 5b 74 68 65 4c 69 6e |theScree|n[theLin|
|00002170| 65 5d 5b 74 68 65 43 6f | 6c 75 6d 6e 5d 20 3d 20 |e][theCo|lumn] = |
|00002180| 2a 28 74 68 65 53 74 72 | 2b 2b 29 3b 0d 09 09 09 |*(theStr|++);....|
|00002190| 09 69 66 20 28 74 68 65 | 43 6f 6c 75 6d 6e 20 3c |.if (the|Column <|
|000021a0| 20 6d 61 78 58 29 0d 09 | 09 09 09 09 74 68 65 43 | maxX)..|....theC|
|000021b0| 6f 6c 75 6d 6e 2b 2b 3b | 0d 09 09 09 7d 0d 09 09 |olumn++;|....}...|
|000021c0| 09 49 6e 76 61 6c 43 68 | 61 72 52 65 63 74 28 6c |.InvalCh|arRect(l|
|000021d0| 65 66 74 43 6f 6c 2c 20 | 74 68 65 4c 69 6e 65 2c |eftCol, |theLine,|
|000021e0| 20 74 68 65 43 6f 6c 75 | 6d 6e 2c 20 74 68 65 4c | theColu|mn, theL|
|000021f0| 69 6e 65 29 3b 0d 09 09 | 09 43 75 72 73 6f 72 4d |ine);...|.CursorM|
|00002200| 6f 76 65 64 28 29 3b 0d | 09 09 7d 0d 09 09 69 66 |oved();.|..}...if|
|00002210| 20 28 2a 74 68 65 53 74 | 72 29 0d 09 09 09 44 6f | (*theSt|r)....Do|
|00002220| 57 72 69 74 65 43 68 61 | 72 28 2a 28 74 68 65 53 |WriteCha|r(*(theS|
|00002230| 74 72 2b 2b 29 29 3b 0d | 09 7d 0d 7d 0d 0d 0d 2f |tr++));.|.}.}.../|
|00002240| 2a 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |*_______|________|
|00002250| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00002260| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00002270| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00002280| 5f 5f 5f 5f 5f 5f 5f 0d | 2a 2a 0d 2a 2a 20 44 72 |_______.|**.** Dr|
|00002290| 61 77 0d 2a 2a 0d 2a 2a | 09 44 72 61 77 20 63 68 |aw.**.**|.Draw ch|
|000022a0| 61 72 61 63 74 65 72 73 | 20 66 72 6f 6d 20 74 68 |aracters| from th|
|000022b0| 65 20 74 68 65 53 63 72 | 65 65 6e 20 61 72 72 61 |e theScr|een arra|
|000022c0| 79 20 6f 6e 74 6f 20 74 | 68 65 20 72 65 61 6c 20 |y onto t|he real |
|000022d0| 73 63 72 65 65 6e 2e 0d | 2a 2a 0d 2a 2a 09 09 61 |screen..|**.**..a|
|000022e0| 72 65 61 20 28 52 65 63 | 74 20 2a 29 3a 09 61 72 |rea (Rec|t *):.ar|
|000022f0| 65 61 20 74 6f 20 62 65 | 20 72 65 64 72 61 77 6e |ea to be| redrawn|
|00002300| 20 28 69 6e 20 66 72 61 | 6d 65 20 63 6f 6f 72 64 | (in fra|me coord|
|00002310| 69 6e 61 74 65 73 29 0d | 2a 2a 0d 2a 2f 0d 0d 76 |inates).|**.*/..v|
|00002320| 6f 69 64 20 43 54 65 72 | 6d 69 6e 61 6c 50 61 6e |oid CTer|minalPan|
|00002330| 65 3a 3a 44 72 61 77 20 | 28 52 65 63 74 20 2a 61 |e::Draw |(Rect *a|
|00002340| 72 65 61 29 0d 0d 7b 0d | 09 73 68 6f 72 74 09 6c |rea)..{.|.short.l|
|00002350| 65 66 74 2c 20 74 6f 70 | 2c 20 72 69 67 68 74 2c |eft, top|, right,|
|00002360| 20 62 6f 74 74 6f 6d 3b | 09 09 2f 2a 20 63 68 61 | bottom;|../* cha|
|00002370| 72 20 63 6f 6f 72 64 69 | 6e 61 74 61 74 65 73 20 |r coordi|natates |
|00002380| 6f 66 20 64 72 61 77 20 | 72 65 67 69 6f 6e 20 2a |of draw |region *|
|00002390| 2f 0d 09 73 68 6f 72 74 | 09 64 4c 69 6e 65 3b 09 |/..short|.dLine;.|
|000023a0| 09 09 09 09 2f 2a 20 77 | 68 65 72 65 20 74 6f 20 |..../* w|here to |
|000023b0| 64 72 61 77 20 6e 6f 77 | 20 2a 2f 0d 09 4c 6f 6e |draw now| */..Lon|
|000023c0| 67 52 65 63 74 09 74 68 | 65 4c 6f 6e 67 41 72 65 |gRect.th|eLongAre|
|000023d0| 61 3b 09 09 09 09 2f 2a | 20 66 72 61 6d 65 20 63 |a;..../*| frame c|
|000023e0| 6f 6f 72 64 69 6e 61 74 | 65 73 20 6f 66 20 72 65 |oordinat|es of re|
|000023f0| 67 69 6f 6e 20 2a 2f 0d | 09 4c 6f 6e 67 50 74 09 |gion */.|.LongPt.|
|00002400| 74 68 65 4c 6f 6e 67 50 | 74 3b 0d 09 50 6f 69 6e |theLongP|t;..Poin|
|00002410| 74 09 09 74 68 65 50 6f | 69 6e 74 3b 0d 09 0d 09 |t..thePo|int;....|
|00002420| 2f 2a 20 66 69 67 75 72 | 65 20 64 72 61 77 20 72 |/* figur|e draw r|
|00002430| 65 67 69 6f 6e 20 2a 2f | 0d 09 0d 09 51 44 54 6f |egion */|....QDTo|
|00002440| 46 72 61 6d 65 52 28 61 | 72 65 61 2c 20 26 74 68 |FrameR(a|rea, &th|
|00002450| 65 4c 6f 6e 67 41 72 65 | 61 29 3b 0d 09 6c 65 66 |eLongAre|a);..lef|
|00002460| 74 20 3d 20 28 74 68 65 | 4c 6f 6e 67 41 72 65 61 |t = (the|LongArea|
|00002470| 2e 6c 65 66 74 20 2d 20 | 6f 66 66 73 65 74 58 29 |.left - |offsetX)|
|00002480| 20 2f 20 70 69 78 65 6c | 73 58 3b 0d 09 72 69 67 | / pixel|sX;..rig|
|00002490| 68 74 20 3d 20 28 74 68 | 65 4c 6f 6e 67 41 72 65 |ht = (th|eLongAre|
|000024a0| 61 2e 72 69 67 68 74 20 | 2d 6f 66 66 73 65 74 58 |a.right |-offsetX|
|000024b0| 20 2b 20 31 29 20 2f 20 | 70 69 78 65 6c 73 58 3b | + 1) / |pixelsX;|
|000024c0| 0d 09 74 6f 70 20 3d 20 | 28 74 68 65 4c 6f 6e 67 |..top = |(theLong|
|000024d0| 41 72 65 61 2e 74 6f 70 | 20 2d 20 6f 66 66 73 65 |Area.top| - offse|
|000024e0| 74 59 29 20 2f 20 70 69 | 78 65 6c 73 59 3b 0d 09 |tY) / pi|xelsY;..|
|000024f0| 62 6f 74 74 6f 6d 20 3d | 20 28 74 68 65 4c 6f 6e |bottom =| (theLon|
|00002500| 67 41 72 65 61 2e 62 6f | 74 74 6f 6d 20 2d 6f 66 |gArea.bo|ttom -of|
|00002510| 66 73 65 74 59 20 2b 20 | 31 29 20 2f 20 70 69 78 |fsetY + |1) / pix|
|00002520| 65 6c 73 59 3b 0d 09 0d | 09 2f 2a 20 64 6f 20 72 |elsY;...|./* do r|
|00002530| 61 6e 67 65 20 63 68 65 | 63 6b 69 6e 67 20 2a 2f |ange che|cking */|
|00002540| 0d 09 0d 09 6c 65 66 74 | 20 3d 20 4d 61 78 28 6c |....left| = Max(l|
|00002550| 65 66 74 2c 20 30 29 3b | 0d 09 74 6f 70 20 3d 20 |eft, 0);|..top = |
|00002560| 4d 61 78 28 74 6f 70 2c | 20 30 29 3b 0d 09 72 69 |Max(top,| 0);..ri|
|00002570| 67 68 74 20 3d 20 4d 69 | 6e 28 72 69 67 68 74 2c |ght = Mi|n(right,|
|00002580| 20 6d 61 78 58 2d 31 29 | 3b 0d 09 62 6f 74 74 6f | maxX-1)|;..botto|
|00002590| 6d 20 3d 20 4d 69 6e 28 | 62 6f 74 74 6f 6d 2c 20 |m = Min(|bottom, |
|000025a0| 6d 61 78 59 2d 31 29 3b | 0d 09 0d 09 2f 2a 20 68 |maxY-1);|..../* h|
|000025b0| 61 72 64 2d 77 69 72 65 | 20 66 6f 72 20 4d 6f 6e |ard-wire| for Mon|
|000025c0| 61 63 6f 20 39 3a 20 4d | 6f 6d 2c 20 64 6f 6e d5 |aco 9: M|om, don.|
|000025d0| 74 20 6c 6f 6f 6b 20 61 | 74 20 74 68 69 73 20 63 |t look a|t this c|
|000025e0| 6f 64 65 21 20 2a 2f 0d | 09 0d 09 54 65 78 74 46 |ode! */.|...TextF|
|000025f0| 6f 6e 74 28 34 29 3b 0d | 09 54 65 78 74 46 61 63 |ont(4);.|.TextFac|
|00002600| 65 28 30 29 3b 0d 09 54 | 65 78 74 53 69 7a 65 28 |e(0);..T|extSize(|
|00002610| 39 29 3b 0d 09 0d 09 2f | 2a 20 64 72 61 77 20 74 |9);..../|* draw t|
|00002620| 68 65 20 73 74 75 66 66 | 20 2a 2f 0d 09 0d 09 69 |he stuff| */....i|
|00002630| 66 20 28 6c 65 66 74 20 | 3c 3d 20 72 69 67 68 74 |f (left |<= right|
|00002640| 29 20 7b 0d 09 09 48 4c | 6f 63 6b 28 28 48 61 6e |) {...HL|ock((Han|
|00002650| 64 6c 65 29 20 74 68 69 | 73 29 3b 0d 09 09 64 4c |dle) thi|s);...dL|
|00002660| 69 6e 65 20 3d 20 74 6f | 70 3b 0d 09 09 77 68 69 |ine = to|p;...whi|
|00002670| 6c 65 20 28 64 4c 69 6e | 65 20 3c 3d 20 62 6f 74 |le (dLin|e <= bot|
|00002680| 74 6f 6d 29 20 7b 0d 09 | 09 09 53 65 74 4c 6f 6e |tom) {..|..SetLon|
|00002690| 67 50 74 28 26 74 68 65 | 4c 6f 6e 67 50 74 2c 20 |gPt(&the|LongPt, |
|000026a0| 6c 65 66 74 20 2a 20 70 | 69 78 65 6c 73 58 2c 20 |left * p|ixelsX, |
|000026b0| 64 4c 69 6e 65 20 2a 20 | 70 69 78 65 6c 73 59 29 |dLine * |pixelsY)|
|000026c0| 3b 0d 09 09 09 46 72 61 | 6d 65 54 6f 51 44 28 26 |;....Fra|meToQD(&|
|000026d0| 74 68 65 4c 6f 6e 67 50 | 74 2c 20 26 74 68 65 50 |theLongP|t, &theP|
|000026e0| 6f 69 6e 74 29 3b 0d 09 | 09 09 4d 6f 76 65 54 6f |oint);..|..MoveTo|
|000026f0| 28 74 68 65 50 6f 69 6e | 74 2e 68 20 2b 20 6f 66 |(thePoin|t.h + of|
|00002700| 66 73 65 74 58 2c 20 74 | 68 65 50 6f 69 6e 74 2e |fsetX, t|hePoint.|
|00002710| 76 20 2b 20 6f 66 66 73 | 65 74 59 20 2b 20 70 69 |v + offs|etY + pi|
|00002720| 78 65 6c 73 59 2d 32 29 | 3b 0d 09 09 09 44 72 61 |xelsY-2)|;....Dra|
|00002730| 77 54 65 78 74 28 26 74 | 68 65 53 63 72 65 65 6e |wText(&t|heScreen|
|00002740| 5b 64 4c 69 6e 65 5d 5b | 6c 65 66 74 5d 2c 20 30 |[dLine][|left], 0|
|00002750| 2c 20 72 69 67 68 74 2d | 6c 65 66 74 2b 31 29 3b |, right-|left+1);|
|00002760| 0d 09 09 09 64 4c 69 6e | 65 2b 2b 3b 0d 09 09 7d |....dLin|e++;...}|
|00002770| 0d 09 09 48 55 6e 6c 6f | 63 6b 28 28 48 61 6e 64 |...HUnlo|ck((Hand|
|00002780| 6c 65 29 20 74 68 69 73 | 29 3b 0d 09 7d 0d 09 0d |le) this|);..}...|
|00002790| 09 2f 2a 20 63 68 65 63 | 6b 20 74 6f 20 73 65 65 |./* chec|k to see|
|000027a0| 20 69 66 20 77 65 20 6f | 76 65 72 77 72 6f 74 65 | if we o|verwrote|
|000027b0| 20 74 68 65 20 63 75 72 | 73 6f 72 20 2a 2f 0d 09 | the cur|sor */..|
|000027c0| 0d 09 69 66 20 28 28 6c | 65 66 74 20 3c 3d 20 74 |..if ((l|eft <= t|
|000027d0| 68 65 43 6f 6c 75 6d 6e | 29 20 26 26 20 28 72 69 |heColumn|) && (ri|
|000027e0| 67 68 74 20 3e 3d 20 74 | 68 65 43 6f 6c 75 6d 6e |ght >= t|heColumn|
|000027f0| 29 20 26 26 0d 09 20 28 | 74 6f 70 20 3c 3d 20 74 |) &&.. (|top <= t|
|00002800| 68 65 4c 69 6e 65 29 20 | 26 26 20 28 62 6f 74 74 |heLine) |&& (bott|
|00002810| 6f 6d 20 3e 3d 20 74 68 | 65 4c 69 6e 65 29 20 26 |om >= th|eLine) &|
|00002820| 26 20 63 75 72 73 6f 72 | 56 69 73 29 0d 09 20 09 |& cursor|Vis).. .|
|00002830| 49 6e 76 65 72 74 43 75 | 72 73 6f 72 28 74 68 65 |InvertCu|rsor(the|
|00002840| 43 6f 6c 75 6d 6e 2c 20 | 74 68 65 4c 69 6e 65 29 |Column, |theLine)|
|00002850| 3b 0d 09 0d 7d 0d 0d 0d | 2f 2a 5f 5f 5f 5f 5f 5f |;...}...|/*______|
|00002860| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00002870| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00002880| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00002890| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|000028a0| 0d 2a 2a 0d 2a 2a 20 49 | 6e 76 61 6c 43 68 61 72 |.**.** I|nvalChar|
|000028b0| 52 65 63 74 20 28 70 72 | 6f 74 65 63 74 65 64 20 |Rect (pr|otected |
|000028c0| 6d 65 74 68 6f 64 29 0d | 2a 2a 0d 2a 2a 09 49 6e |method).|**.**.In|
|000028d0| 76 61 6c 69 64 61 74 65 | 20 61 20 73 65 63 74 69 |validate| a secti|
|000028e0| 6f 6e 20 6f 66 20 74 68 | 65 20 70 61 6e 65 20 62 |on of th|e pane b|
|000028f0| 61 73 65 64 20 6f 6e 20 | 74 68 65 20 63 68 61 72 |ased on |the char|
|00002900| 61 63 74 65 72 20 63 6f | 6f 72 64 69 6e 61 74 65 |acter co|ordinate|
|00002910| 73 0d 2a 2a 09 70 72 6f | 76 69 64 65 64 2e 20 55 |s.**.pro|vided. U|
|00002920| 70 70 65 72 20 6c 65 66 | 74 20 63 6f 72 6e 65 72 |pper lef|t corner|
|00002930| 20 69 73 20 28 30 2c 30 | 29 2e 0d 2a 2a 0d 2a 2a | is (0,0|)..**.**|
|00002940| 09 09 6c 65 66 74 20 28 | 73 68 6f 72 74 29 3a 09 |..left (|short):.|
|00002950| 09 6c 65 66 74 20 65 64 | 67 65 20 6f 66 20 63 68 |.left ed|ge of ch|
|00002960| 61 72 61 63 74 65 72 20 | 72 65 63 74 61 6e 67 6c |aracter |rectangl|
|00002970| 65 0d 2a 2a 09 09 74 6f | 70 20 28 73 68 6f 72 74 |e.**..to|p (short|
|00002980| 29 3a 09 09 74 6f 70 20 | 65 64 67 65 0d 2a 2a 09 |):..top |edge.**.|
|00002990| 09 72 69 67 68 74 20 28 | 73 68 6f 72 74 29 3a 09 |.right (|short):.|
|000029a0| 09 72 69 67 68 74 20 65 | 64 67 65 2c 20 69 6e 63 |.right e|dge, inc|
|000029b0| 6c 75 73 69 76 65 0d 2a | 2a 09 09 62 6f 74 74 6f |lusive.*|*..botto|
|000029c0| 6d 20 28 73 68 6f 72 74 | 29 3a 09 09 62 6f 74 74 |m (short|):..bott|
|000029d0| 6f 6d 20 65 64 67 65 2c | 20 69 6e 63 6c 75 73 69 |om edge,| inclusi|
|000029e0| 76 65 0d 2a 2a 0d 2a 2f | 0d 0d 76 6f 69 64 20 43 |ve.**.*/|..void C|
|000029f0| 54 65 72 6d 69 6e 61 6c | 50 61 6e 65 3a 3a 49 6e |Terminal|Pane::In|
|00002a00| 76 61 6c 43 68 61 72 52 | 65 63 74 20 28 73 68 6f |valCharR|ect (sho|
|00002a10| 72 74 20 6c 65 66 74 2c | 20 73 68 6f 72 74 20 74 |rt left,| short t|
|00002a20| 6f 70 2c 20 73 68 6f 72 | 74 20 72 69 67 68 74 2c |op, shor|t right,|
|00002a30| 20 73 68 6f 72 74 20 62 | 6f 74 74 6f 6d 29 0d 0d | short b|ottom)..|
|00002a40| 7b 0d 09 4c 6f 6e 67 52 | 65 63 74 09 74 68 65 4c |{..LongR|ect.theL|
|00002a50| 6f 6e 67 52 65 63 74 3b | 0d 09 0d 09 43 61 6c 63 |ongRect;|....Calc|
|00002a60| 43 68 61 72 52 65 63 74 | 28 6c 65 66 74 2c 20 74 |CharRect|(left, t|
|00002a70| 6f 70 2c 20 72 69 67 68 | 74 2c 20 62 6f 74 74 6f |op, righ|t, botto|
|00002a80| 6d 2c 20 26 74 68 65 4c | 6f 6e 67 52 65 63 74 29 |m, &theL|ongRect)|
|00002a90| 3b 0d 09 50 72 65 70 61 | 72 65 28 29 3b 0d 09 52 |;..Prepa|re();..R|
|00002aa0| 65 66 72 65 73 68 4c 6f | 6e 67 52 65 63 74 28 26 |efreshLo|ngRect(&|
|00002ab0| 74 68 65 4c 6f 6e 67 52 | 65 63 74 29 3b 0d 7d 0d |theLongR|ect);.}.|
|00002ac0| 0d 0d 2f 2a 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |../*____|________|
|00002ad0| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00002ae0| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00002af0| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00002b00| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 0d 2a 2a 0d 2a 2a |________|__.**.**|
|00002b10| 20 49 6e 76 65 72 74 43 | 75 72 73 6f 72 0d 2a 2a | InvertC|ursor.**|
|00002b20| 0d 2a 2a 09 49 6e 76 65 | 72 74 20 61 20 73 69 6e |.**.Inve|rt a sin|
|00002b30| 67 6c 65 20 63 68 61 72 | 61 63 74 65 72 2e 0d 2a |gle char|acter..*|
|00002b40| 2a 0d 2a 2a 09 09 63 6f | 6c 20 28 73 68 6f 72 74 |*.**..co|l (short|
|00002b50| 29 3a 09 74 68 65 20 63 | 6f 6c 75 6d 6e 20 6e 75 |):.the c|olumn nu|
|00002b60| 6d 62 65 72 0d 2a 2a 09 | 09 6c 69 6e 65 20 28 73 |mber.**.|.line (s|
|00002b70| 68 6f 72 74 29 3a 09 74 | 68 65 20 6c 69 6e 65 20 |hort):.t|he line |
|00002b80| 6e 75 6d 62 65 72 0d 2a | 2a 0d 2a 2f 0d 0d 76 6f |number.*|*.*/..vo|
|00002b90| 69 64 20 43 54 65 72 6d | 69 6e 61 6c 50 61 6e 65 |id CTerm|inalPane|
|00002ba0| 3a 3a 49 6e 76 65 72 74 | 43 75 72 73 6f 72 20 28 |::Invert|Cursor (|
|00002bb0| 73 68 6f 72 74 20 63 6f | 6c 2c 20 73 68 6f 72 74 |short co|l, short|
|00002bc0| 20 6c 69 6e 65 29 0d 0d | 7b 0d 09 4c 6f 6e 67 52 | line)..|{..LongR|
|00002bd0| 65 63 74 09 74 68 65 4c | 6f 6e 67 52 65 63 74 3b |ect.theL|ongRect;|
|00002be0| 0d 09 52 65 63 74 09 09 | 74 68 65 52 65 63 74 3b |..Rect..|theRect;|
|00002bf0| 0d 09 0d 09 43 61 6c 63 | 43 68 61 72 52 65 63 74 |....Calc|CharRect|
|00002c00| 28 63 6f 6c 2c 20 6c 69 | 6e 65 2c 20 63 6f 6c 2c |(col, li|ne, col,|
|00002c10| 20 6c 69 6e 65 2c 20 26 | 74 68 65 4c 6f 6e 67 52 | line, &|theLongR|
|00002c20| 65 63 74 29 3b 0d 09 4c | 6f 6e 67 54 6f 51 44 52 |ect);..L|ongToQDR|
|00002c30| 65 63 74 28 26 74 68 65 | 4c 6f 6e 67 52 65 63 74 |ect(&the|LongRect|
|00002c40| 2c 20 26 74 68 65 52 65 | 63 74 29 3b 0d 09 49 6e |, &theRe|ct);..In|
|00002c50| 76 65 72 74 52 65 63 74 | 28 26 74 68 65 52 65 63 |vertRect|(&theRec|
|00002c60| 74 29 3b 0d 09 69 66 20 | 28 67 47 6f 70 68 65 72 |t);..if |(gGopher|
|00002c70| 20 21 3d 20 74 68 69 73 | 29 20 7b 0d 09 09 49 6e | != this|) {...In|
|00002c80| 73 65 74 52 65 63 74 28 | 26 74 68 65 52 65 63 74 |setRect(|&theRect|
|00002c90| 2c 20 31 2c 20 31 29 3b | 0d 09 09 49 6e 76 65 72 |, 1, 1);|...Inver|
|00002ca0| 74 52 65 63 74 28 26 74 | 68 65 52 65 63 74 29 3b |tRect(&t|heRect);|
|00002cb0| 0d 09 7d 0d 7d 0d 0d 0d | 2f 2a 5f 5f 5f 5f 5f 5f |..}.}...|/*______|
|00002cc0| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00002cd0| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00002ce0| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00002cf0| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00002d00| 0d 2a 2a 0d 2a 2a 20 53 | 63 72 6f 6c 6c 54 65 72 |.**.** S|crollTer|
|00002d10| 6d 0d 2a 2a 0d 2a 2a 09 | 50 75 73 68 20 65 76 65 |m.**.**.|Push eve|
|00002d20| 72 79 74 68 69 6e 67 20 | 6f 6e 20 73 63 72 65 65 |rything |on scree|
|00002d30| 6e 20 75 70 20 6f 6e 65 | 20 6c 69 6e 65 2e 0d 2a |n up one| line..*|
|00002d40| 2a 0d 2a 2f 0d 0d 76 6f | 69 64 20 43 54 65 72 6d |*.*/..vo|id CTerm|
|00002d50| 69 6e 61 6c 50 61 6e 65 | 3a 3a 53 63 72 6f 6c 6c |inalPane|::Scroll|
|00002d60| 54 65 72 6d 20 28 76 6f | 69 64 29 0d 0d 7b 0d 09 |Term (vo|id)..{..|
|00002d70| 42 6c 6f 63 6b 4d 6f 76 | 65 28 26 74 68 65 53 63 |BlockMov|e(&theSc|
|00002d80| 72 65 65 6e 5b 31 5d 5b | 30 5d 2c 20 26 74 68 65 |reen[1][|0], &the|
|00002d90| 53 63 72 65 65 6e 5b 30 | 5d 5b 30 5d 2c 20 28 6d |Screen[0|][0], (m|
|00002da0| 61 78 59 2d 31 29 20 2a | 20 6d 61 78 58 29 3b 0d |axY-1) *| maxX);.|
|00002db0| 09 43 6c 65 61 72 54 6f | 45 4f 4c 28 30 2c 20 6d |.ClearTo|EOL(0, m|
|00002dc0| 61 78 59 2d 31 29 3b 0d | 09 52 65 66 72 65 73 68 |axY-1);.|.Refresh|
|00002dd0| 28 29 3b 0d 7d 0d 0d 0d | 2f 2a 5f 5f 5f 5f 5f 5f |();.}...|/*______|
|00002de0| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00002df0| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00002e00| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00002e10| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00002e20| 0d 2a 2a 0d 2a 2a 20 53 | 63 72 6f 6c 6c 54 6f 53 |.**.** S|crollToS|
|00002e30| 65 6c 65 63 74 69 6f 6e | 0d 2a 2a 0d 2a 2a 09 45 |election|.**.**.E|
|00002e40| 6e 73 75 72 65 20 74 68 | 61 74 20 74 68 65 20 63 |nsure th|at the c|
|00002e50| 75 72 72 65 6e 74 20 63 | 75 72 73 6f 72 20 6c 6f |urrent c|ursor lo|
|00002e60| 63 61 74 69 6f 6e 20 69 | 73 20 76 69 73 69 62 6c |cation i|s visibl|
|00002e70| 65 2e 0d 2a 2a 0d 2a 2f | 0d 0d 76 6f 69 64 20 43 |e..**.*/|..void C|
|00002e80| 54 65 72 6d 69 6e 61 6c | 50 61 6e 65 3a 3a 53 63 |Terminal|Pane::Sc|
|00002e90| 72 6f 6c 6c 54 6f 53 65 | 6c 65 63 74 69 6f 6e 20 |rollToSe|lection |
|00002ea0| 28 76 6f 69 64 29 0d 0d | 7b 0d 09 4c 6f 6e 67 52 |(void)..|{..LongR|
|00002eb0| 65 63 74 09 74 68 65 56 | 69 73 52 65 63 74 3b 0d |ect.theV|isRect;.|
|00002ec0| 09 4c 6f 6e 67 52 65 63 | 74 09 74 68 65 43 68 61 |.LongRec|t.theCha|
|00002ed0| 72 52 65 63 74 3b 0d 09 | 4c 6f 6e 67 52 65 63 74 |rRect;..|LongRect|
|00002ee0| 09 74 65 6d 70 52 65 63 | 74 3b 0d 09 4c 6f 6e 67 |.tempRec|t;..Long|
|00002ef0| 50 74 09 77 68 65 72 65 | 54 6f 3b 0d 09 42 6f 6f |Pt.where|To;..Boo|
|00002f00| 6c 65 61 6e 09 6e 65 65 | 64 73 53 63 72 6f 6c 6c |lean.nee|dsScroll|
|00002f10| 20 3d 20 46 41 4c 53 45 | 3b 0d 09 0d 09 2f 2a 20 | = FALSE|;..../* |
|00002f20| 66 69 67 75 72 65 20 6f | 75 74 20 70 61 6e 6f 72 |figure o|ut panor|
|00002f30| 61 6d 61 20 63 6f 6f 72 | 64 69 6e 61 74 65 73 20 |ama coor|dinates |
|00002f40| 6f 66 20 77 68 61 74 d5 | 73 20 76 69 73 69 62 6c |of what.|s visibl|
|00002f50| 65 2e 2e 2e 0d 09 09 74 | 68 69 73 20 53 48 4f 55 |e......t|his SHOU|
|00002f60| 4c 44 20 62 65 20 65 61 | 73 69 65 72 20 28 68 69 |LD be ea|sier (hi|
|00002f70| 6e 74 2c 20 68 69 6e 74 | 2c 20 53 79 6d 61 6e 74 |nt, hint|, Symant|
|00002f80| 65 63 29 20 2a 2f 0d 09 | 0d 09 47 65 74 50 6f 73 |ec) */..|..GetPos|
|00002f90| 69 74 69 6f 6e 28 26 77 | 68 65 72 65 54 6f 29 3b |ition(&w|hereTo);|
|00002fa0| 0d 09 47 65 74 42 6f 75 | 6e 64 73 28 26 74 65 6d |..GetBou|nds(&tem|
|00002fb0| 70 52 65 63 74 29 3b 0d | 09 69 66 20 28 21 28 50 |pRect);.|.if (!(P|
|00002fc0| 74 49 6e 4c 6f 6e 67 52 | 65 63 74 28 26 77 68 65 |tInLongR|ect(&whe|
|00002fd0| 72 65 54 6f 2c 20 26 74 | 65 6d 70 52 65 63 74 29 |reTo, &t|empRect)|
|00002fe0| 29 29 20 7b 0d 09 09 77 | 68 65 72 65 54 6f 2e 68 |)) {...w|hereTo.h|
|00002ff0| 20 3d 20 30 3b 09 09 09 | 09 09 09 2f 2a 20 73 63 | = 0;...|.../* sc|
|00003000| 72 6f 6c 6c 20 70 6f 73 | 69 74 69 6f 6e 20 69 73 |roll pos|ition is|
|00003010| 20 6a 75 73 74 20 70 6c | 61 69 6e 20 62 6f 6e 6b | just pl|ain bonk|
|00003020| 65 72 73 20 2a 2f 0d 09 | 09 77 68 65 72 65 54 6f |ers */..|.whereTo|
|00003030| 2e 76 20 3d 20 30 3b 0d | 09 09 6e 65 65 64 73 53 |.v = 0;.|..needsS|
|00003040| 63 72 6f 6c 6c 20 3d 20 | 54 52 55 45 3b 0d 09 7d |croll = |TRUE;..}|
|00003050| 0d 09 0d 09 47 65 74 41 | 70 65 72 74 75 72 65 28 |....GetA|perture(|
|00003060| 26 74 65 6d 70 52 65 63 | 74 29 3b 0d 09 74 68 65 |&tempRec|t);..the|
|00003070| 56 69 73 52 65 63 74 2e | 6c 65 66 74 20 3d 20 77 |VisRect.|left = w|
|00003080| 68 65 72 65 54 6f 2e 68 | 3b 0d 09 74 68 65 56 69 |hereTo.h|;..theVi|
|00003090| 73 52 65 63 74 2e 74 6f | 70 20 3d 20 77 68 65 72 |sRect.to|p = wher|
|000030a0| 65 54 6f 2e 76 3b 0d 09 | 74 68 65 56 69 73 52 65 |eTo.v;..|theVisRe|
|000030b0| 63 74 2e 72 69 67 68 74 | 20 3d 20 77 68 65 72 65 |ct.right| = where|
|000030c0| 54 6f 2e 68 20 2b 20 28 | 74 65 6d 70 52 65 63 74 |To.h + (|tempRect|
|000030d0| 2e 72 69 67 68 74 20 2d | 20 74 65 6d 70 52 65 63 |.right -| tempRec|
|000030e0| 74 2e 6c 65 66 74 29 3b | 0d 09 74 68 65 56 69 73 |t.left);|..theVis|
|000030f0| 52 65 63 74 2e 62 6f 74 | 74 6f 6d 20 3d 20 77 68 |Rect.bot|tom = wh|
|00003100| 65 72 65 54 6f 2e 76 20 | 2b 20 28 74 65 6d 70 52 |ereTo.v |+ (tempR|
|00003110| 65 63 74 2e 62 6f 74 74 | 6f 6d 20 2d 20 74 65 6d |ect.bott|om - tem|
|00003120| 70 52 65 63 74 2e 74 6f | 70 29 3b 0d 09 0d 09 2f |pRect.to|p);..../|
|00003130| 2a 20 66 69 67 75 72 65 | 20 6f 75 74 20 77 68 65 |* figure| out whe|
|00003140| 72 65 20 6f 75 72 20 63 | 75 72 73 6f 72 20 69 73 |re our c|ursor is|
|00003150| 20 2a 2f 0d 09 0d 09 43 | 61 6c 63 43 68 61 72 52 | */....C|alcCharR|
|00003160| 65 63 74 28 74 68 65 43 | 6f 6c 75 6d 6e 2c 20 74 |ect(theC|olumn, t|
|00003170| 68 65 4c 69 6e 65 2c 20 | 74 68 65 43 6f 6c 75 6d |heLine, |theColum|
|00003180| 6e 2c 20 74 68 65 4c 69 | 6e 65 2c 20 26 74 68 65 |n, theLi|ne, &the|
|00003190| 43 68 61 72 52 65 63 74 | 29 3b 0d 09 74 68 65 43 |CharRect|);..theC|
|000031a0| 68 61 72 52 65 63 74 2e | 6c 65 66 74 20 2d 3d 20 |harRect.|left -= |
|000031b0| 6f 66 66 73 65 74 58 3b | 0d 09 74 68 65 43 68 61 |offsetX;|..theCha|
|000031c0| 72 52 65 63 74 2e 74 6f | 70 20 2d 3d 20 6f 66 66 |rRect.to|p -= off|
|000031d0| 73 65 74 59 3b 0d 09 74 | 68 65 43 68 61 72 52 65 |setY;..t|heCharRe|
|000031e0| 63 74 2e 72 69 67 68 74 | 20 2b 3d 20 6f 66 66 73 |ct.right| += offs|
|000031f0| 65 74 58 3b 0d 09 74 68 | 65 43 68 61 72 52 65 63 |etX;..th|eCharRec|
|00003200| 74 2e 62 6f 74 74 6f 6d | 20 2b 3d 20 6f 66 66 73 |t.bottom| += offs|
|00003210| 65 74 59 3b 0d 0d 09 2f | 2a 20 73 63 72 6f 6c 6c |etY;.../|* scroll|
|00003220| 20 69 66 20 6e 65 63 65 | 73 73 61 72 79 20 2a 2f | if nece|ssary */|
|00003230| 0d 0d 09 69 66 20 28 74 | 68 65 43 68 61 72 52 65 |...if (t|heCharRe|
|00003240| 63 74 2e 62 6f 74 74 6f | 6d 20 3e 20 74 68 65 56 |ct.botto|m > theV|
|00003250| 69 73 52 65 63 74 2e 62 | 6f 74 74 6f 6d 29 20 7b |isRect.b|ottom) {|
|00003260| 0d 09 09 77 68 65 72 65 | 54 6f 2e 76 20 3d 20 4d |...where|To.v = M|
|00003270| 61 78 28 74 68 65 43 68 | 61 72 52 65 63 74 2e 62 |ax(theCh|arRect.b|
|00003280| 6f 74 74 6f 6d 2c 20 74 | 68 65 56 69 73 52 65 63 |ottom, t|heVisRec|
|00003290| 74 2e 62 6f 74 74 6f 6d | 29 20 2d 0d 09 09 09 09 |t.bottom|) -.....|
|000032a0| 09 09 28 74 68 65 56 69 | 73 52 65 63 74 2e 62 6f |..(theVi|sRect.bo|
|000032b0| 74 74 6f 6d 20 2d 20 74 | 68 65 56 69 73 52 65 63 |ttom - t|heVisRec|
|000032c0| 74 2e 74 6f 70 29 3b 0d | 09 09 6e 65 65 64 73 53 |t.top);.|..needsS|
|000032d0| 63 72 6f 6c 6c 20 3d 20 | 54 52 55 45 3b 0d 09 7d |croll = |TRUE;..}|
|000032e0| 0d 09 69 66 20 28 74 68 | 65 43 68 61 72 52 65 63 |..if (th|eCharRec|
|000032f0| 74 2e 74 6f 70 20 3c 20 | 74 68 65 56 69 73 52 65 |t.top < |theVisRe|
|00003300| 63 74 2e 74 6f 70 29 20 | 7b 0d 09 09 77 68 65 72 |ct.top) |{...wher|
|00003310| 65 54 6f 2e 76 20 3d 20 | 4d 69 6e 28 4d 69 6e 28 |eTo.v = |Min(Min(|
|00003320| 74 68 65 43 68 61 72 52 | 65 63 74 2e 74 6f 70 2c |theCharR|ect.top,|
|00003330| 20 74 68 65 56 69 73 52 | 65 63 74 2e 74 6f 70 29 | theVisR|ect.top)|
|00003340| 2c 20 30 29 3b 0d 09 09 | 6e 65 65 64 73 53 63 72 |, 0);...|needsScr|
|00003350| 6f 6c 6c 20 3d 20 54 52 | 55 45 3b 0d 09 7d 0d 0d |oll = TR|UE;..}..|
|00003360| 09 69 66 20 28 74 68 65 | 43 68 61 72 52 65 63 74 |.if (the|CharRect|
|00003370| 2e 72 69 67 68 74 20 3e | 20 74 68 65 56 69 73 52 |.right >| theVisR|
|00003380| 65 63 74 2e 72 69 67 68 | 74 29 20 7b 0d 09 09 77 |ect.righ|t) {...w|
|00003390| 68 65 72 65 54 6f 2e 68 | 20 3d 20 4d 61 78 28 74 |hereTo.h| = Max(t|
|000033a0| 68 65 43 68 61 72 52 65 | 63 74 2e 72 69 67 68 74 |heCharRe|ct.right|
|000033b0| 2c 20 74 68 65 56 69 73 | 52 65 63 74 2e 72 69 67 |, theVis|Rect.rig|
|000033c0| 68 74 29 20 2d 0d 09 09 | 09 09 09 09 28 74 68 65 |ht) -...|....(the|
|000033d0| 56 69 73 52 65 63 74 2e | 72 69 67 68 74 20 2d 20 |VisRect.|right - |
|000033e0| 74 68 65 56 69 73 52 65 | 63 74 2e 6c 65 66 74 29 |theVisRe|ct.left)|
|000033f0| 3b 0d 09 09 6e 65 65 64 | 73 53 63 72 6f 6c 6c 20 |;...need|sScroll |
|00003400| 3d 20 54 52 55 45 3b 0d | 09 7d 0d 09 69 66 20 28 |= TRUE;.|.}..if (|
|00003410| 74 68 65 43 68 61 72 52 | 65 63 74 2e 6c 65 66 74 |theCharR|ect.left|
|00003420| 20 3c 20 74 68 65 56 69 | 73 52 65 63 74 2e 6c 65 | < theVi|sRect.le|
|00003430| 66 74 29 20 7b 0d 09 09 | 77 68 65 72 65 54 6f 2e |ft) {...|whereTo.|
|00003440| 68 20 3d 20 4d 69 6e 28 | 4d 69 6e 28 74 68 65 43 |h = Min(|Min(theC|
|00003450| 68 61 72 52 65 63 74 2e | 6c 65 66 74 2c 20 74 68 |harRect.|left, th|
|00003460| 65 56 69 73 52 65 63 74 | 2e 6c 65 66 74 29 2c 20 |eVisRect|.left), |
|00003470| 30 29 3b 0d 09 09 6e 65 | 65 64 73 53 63 72 6f 6c |0);...ne|edsScrol|
|00003480| 6c 20 3d 20 54 52 55 45 | 3b 0d 09 7d 0d 0d 09 69 |l = TRUE|;..}...i|
|00003490| 66 20 28 6e 65 65 64 73 | 53 63 72 6f 6c 6c 29 20 |f (needs|Scroll) |
|000034a0| 7b 0d 09 09 53 63 72 6f | 6c 6c 54 6f 28 26 77 68 |{...Scro|llTo(&wh|
|000034b0| 65 72 65 54 6f 2c 20 46 | 41 4c 53 45 29 3b 0d 09 |ereTo, F|ALSE);..|
|000034c0| 09 52 65 66 72 65 73 68 | 28 29 3b 0d 09 7d 0d 7d |.Refresh|();..}.}|
|000034d0| 0d 0d 0d 2f 2a 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |.../*___|________|
|000034e0| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|000034f0| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00003500| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00003510| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 0d 2a 2a 0d 2a |________|___.**.*|
|00003520| 2a 20 53 65 74 42 6c 69 | 6e 6b 69 6e 67 0d 2a 2a |* SetBli|nking.**|
|00003530| 0d 2a 2a 09 54 75 72 6e | 73 20 6f 6e 20 6f 72 20 |.**.Turn|s on or |
|00003540| 6f 66 66 20 63 75 72 73 | 6f 72 20 62 6c 69 6e 6b |off curs|or blink|
|00003550| 69 6e 67 2e 0d 2a 2a 0d | 2a 2a 09 09 62 6c 69 6e |ing..**.|**..blin|
|00003560| 6b 4d 6f 64 65 20 28 42 | 6f 6f 6c 65 61 6e 29 3a |kMode (B|oolean):|
|00003570| 09 09 54 52 55 45 20 74 | 6f 20 65 6e 61 62 6c 65 |..TRUE t|o enable|
|00003580| 20 63 75 72 73 6f 72 20 | 62 6c 69 6e 6b 69 6e 67 | cursor |blinking|
|00003590| 0d 2a 2a 0d 2a 2f 0d 0d | 76 6f 69 64 20 43 54 65 |.**.*/..|void CTe|
|000035a0| 72 6d 69 6e 61 6c 50 61 | 6e 65 3a 3a 53 65 74 42 |rminalPa|ne::SetB|
|000035b0| 6c 69 6e 6b 69 6e 67 20 | 28 42 6f 6f 6c 65 61 6e |linking |(Boolean|
|000035c0| 20 62 6c 69 6e 6b 4d 6f | 64 65 29 0d 0d 7b 0d 09 | blinkMo|de)..{..|
|000035d0| 62 6c 69 6e 6b 43 75 72 | 73 6f 72 20 3d 20 62 6c |blinkCur|sor = bl|
|000035e0| 69 6e 6b 4d 6f 64 65 3b | 0d 09 69 66 20 28 28 62 |inkMode;|..if ((b|
|000035f0| 6c 69 6e 6b 4d 6f 64 65 | 29 09 26 26 20 28 67 47 |linkMode|).&& (gG|
|00003600| 6f 70 68 65 72 20 3d 3d | 20 74 68 69 73 29 29 20 |opher ==| this)) |
|00003610| 7b 0d 09 09 6c 61 73 74 | 43 75 72 73 6f 72 43 6f |{...last|CursorCo|
|00003620| 6c 20 3d 20 74 68 65 43 | 6f 6c 75 6d 6e 3b 0d 09 |l = theC|olumn;..|
|00003630| 09 6c 61 73 74 43 75 72 | 73 6f 72 4c 69 6e 65 20 |.lastCur|sorLine |
|00003640| 3d 20 74 68 65 4c 69 6e | 65 3b 0d 09 09 43 75 72 |= theLin|e;...Cur|
|00003650| 73 6f 72 4d 6f 76 65 64 | 28 29 3b 0d 09 7d 0d 09 |sorMoved|();..}..|
|00003660| 65 6c 73 65 20 7b 0d 09 | 09 63 75 72 73 6f 72 56 |else {..|.cursorV|
|00003670| 69 73 20 3d 20 54 52 55 | 45 3b 0d 09 09 49 6e 76 |is = TRU|E;...Inv|
|00003680| 61 6c 43 68 61 72 52 65 | 63 74 28 74 68 65 43 6f |alCharRe|ct(theCo|
|00003690| 6c 75 6d 6e 2c 20 74 68 | 65 4c 69 6e 65 2c 20 74 |lumn, th|eLine, t|
|000036a0| 68 65 43 6f 6c 75 6d 6e | 2c 20 74 68 65 4c 69 6e |heColumn|, theLin|
|000036b0| 65 29 3b 0d 09 7d 0d 7d | 0d 00 00 00 00 00 00 00 |e);..}.}|........|
|000036c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000036d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000036e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000036f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003700| 00 00 01 00 00 00 01 16 | 00 00 00 16 00 00 00 46 |........|.......F|
|00003710| 00 00 2d d1 0f 43 41 72 | 72 61 79 4f 66 50 61 6e |..-..CAr|rayOfPan|
|00003720| 65 73 2e 68 02 00 00 00 | 54 45 58 54 4b 41 48 4c |es.h....|TEXTKAHL|
|00003730| 10 43 54 65 72 6d 69 6e | 61 6c 50 61 6e 65 2e 63 |.CTermin|alPane.c|
|00003740| 70 65 02 00 00 00 50 61 | 72 74 53 49 54 78 00 00 |pe....Pa|rtSITx..|
|00003750| 00 00 50 61 72 74 53 49 | 54 78 00 00 00 00 00 00 |..PartSI|Tx......|
|00003760| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003770| 00 00 a9 80 17 74 00 00 | 00 00 00 00 01 5c 00 00 |.....t..|.....\..|
|00003780| 00 00 00 00 00 00 00 00 | 00 00 19 00 00 00 2d d1 |........|......-.|
|00003790| 13 43 41 72 72 61 79 53 | 63 72 6f 6c 6c 50 61 6e |.CArrayS|crollPan|
|000037a0| 65 2e 63 70 02 00 00 00 | 54 45 58 54 4b 41 48 4c |e.cp....|TEXTKAHL|
|000037b0| 01 00 ff ff ff ff 00 00 | 00 00 2d c0 00 00 00 00 |........|..-.....|
|000037c0| 07 be 00 00 10 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000037d0| a7 fa a9 88 a8 8d 4a 82 | 00 00 00 00 00 00 00 00 |......J.|........|
|000037e0| 00 00 00 00 00 00 00 00 | 00 00 2d c1 00 00 0e 3d |........|..-....=|
|000037f0| 00 01 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003800| 00 00 00 04 00 06 00 04 | 00 00 00 0a 00 09 06 47 |........|.......G|
|00003810| 65 6e 65 76 61 00 00 00 | 01 00 00 00 01 16 00 00 |eneva...|........|
|00003820| 00 16 00 00 00 46 00 2e | 9d c4 10 88 00 00 00 1c |.....F..|........|
|00003830| 00 46 00 01 45 54 41 42 | 00 00 00 12 45 46 4e 54 |.F..ETAB|....EFNT|
|00003840| 00 00 00 1e 03 ec ff ff | 00 00 00 00 00 2e 9b b4 |........|........|
|00003850| 03 eb ff ff 00 00 00 08 | 00 2e 9b d4 00 00 00 00 |........|........|
|00003860| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003870| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+